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:
- Read papers in the topic area of your choice. I have provided links to some papers 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.
- Just writing a survey paper will not be enough. You must use the approaches and/or tools to test software.
- You can choose to empirically evaluate the approaches presented in the papers on systems that were not used in those papers.
- Alternatively, you can compare the approaches you read about on the same set of subjects. You can apply the approaches at your workplace/research project if possible, as long as you can report the results without violating NDA.
- Alternatively, you may decided to propose a new idea after having read about existing approaches. If you do so, 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:
- Proposal (5%): Students should identify topics by the first week of March. I strongly recommend getting in touch with me by email or in my office to help select a topic. Submit a draft proposal (2%) for feedback by March 3. The final proposal is due after Spring Break (3%), i.e., March 20. Click here for details on writing up the draft proposal and final proposal.
- Term paper (20%): The term paper is due on Monday of the week before finals week (May 1). Click here for details on writing the term paper.
- Poster presentation (5%) For on-campus students, the poster presentation will happen sometime during the week before finals using printed posters in the 3rd floor lounge. If a formal printed poster presentation is not scheduled, I will have the students present their posters in class (on May 3 and 5). In that case, each poster will be projected on the screen. For now, let's plan on having the poster presentations in class.
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.
Click here for details on the poster.