1. Objectives

The goal of the term project is to do preliminary research in some area of software testing and analysis. I am expecting you to do independent research, which involves the following tasks:

  1. Read papers in the topic area of your choice. I have provided links to some papers in the link for the termpaper proposal below. We will discuss some papers in class but you will need to read several on your own. The papers you read will be cited in your final term paper.

  2. Just writing a survey paper will not be enough. You must use the approaches and/or tools to test software. Choose one of the three ways to do this:

    • Empirically evaluate the approaches presented in the papers on systems that were not used in those papers.

    • Compare the approaches you read about on the same set of subjects from your workplace/research project if possible, as long as you can report the results without violating NDA.

    • Propose a new idea after having read about existing approaches. You will still need to perform an initial evaluation of the idea, preferably showing some metric that demonstrates that your idea is better than some existing approach.


2. Software engineering research

Before you start working on your project, it is important for you to understand the type of work that is expected. Typically research results are presented in a paper, and knowing what goes in the paper will help you prepare for the project.

Mary Shaw provides an excellent description of what should be conveyed in a software engineering paper. The following excerpt is taken from her paper, "Writing Good Software Engineering Research Papers", Proceedings of the 25th International Conference on Software Engineering, IEEE Computer Society, 2003, pp. 726-736.

"In software engineering, research papers are customary vehicles for reporting results to the research community. In a research paper, the author explains to an interested reader what he or she accomplished, and how the author accomplished it, and why the reader should care. A good research paper should answer a number of questions:

  • What, precisely, was your contribution?
    • What question did you answer?
    • Why should the reader care?
    • What larger question does this address?
  • What is your new result?
    • What new knowledge have you contributed that the reader can use elsewhere?
    • What previous work (yours or someone else’s) do you build on? What do you provide a superior alternative to?
    • How is your result different from and better than this prior work?
    • What, precisely and in detail, is your new result?
  • Why should the reader believe your result?
    • What standard should be used to evaluate your claim?
    • What concrete evidence shows that your result satisfies your claim?"


3. Deliverables of the term project

There are three main deliverables as listed below:

  1. Proposal (5%): Students should get in touch with me during the first two weeks of March to identify topics. Submit a draft proposal (2%) for feedback by March 25. The final proposal (3%), is due March 30. Click here for details on writing up the draft proposal and final proposal.

  2. Term paper (15%): The term paper is due on Sunday, May 12. Click here for details on writing the term paper.

  3. Poster presentation (5%) For on-campus students, the poster presentation will happen in class during the week before finals. Each poster will be projected on the screen. Every presenter will get 5-10 minutes (this depends on the course enrollment). We will probably also use printed posters in the 3rd floor lounge to present to the whole department.

    Distance students will submit (1) a Poster in PDF format and (2) a 5-minute video displaying the poster on a computer screen accompanied by audio of them explaining the poster. These are due by May 8.

    Click here for details on the poster.