Term Paper Proposal

DUE: 11:59 PM, Mar 21, 2016

20 points

Objectives

The goal of the term paper is to do preliminary research in some area of software testing and analysis. Topics include, but are not limited to, the following:
  1. Mutation testing (including higher order mutation)
    • Area: Web programming, Java
    • Efficient generation of mutants
    • Subsumption relationships between mutants/mutant classes
    • Automatically detecting equivalent mutants
    • Test case generation to kill mutants
  2. Fault localization
    • Functionality related faults
    • Performance bugs
  3. Test input generation
    • Dynamic symbolic execution
    • Search-based testing
  4. Automatic program repair
    • Functionality related faults
    • Performance bugs
  5. Regression testing
    • Model-based based regression test selection
    • Code-based regression test selection
In the term project 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 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. 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.
  3. It will not be enough just to do a survey paper. You must use the approaches and/or tools to test software.
  4. 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.
  5. You must discuss your ideas with me. The best way is to share a draft proposal (not just a summary) for me to comment on. The draft should be emailed to me between March 1-12 to give you time to fix the proposal.

Proposal document

The proposal must have a title, author name and affiliations, and date at the top. If you are proposing a new approach, then the body of the proposal should cover the following topics in numbered sections (though the list below need not match the section titles).
  • The background of the problem
  • A statement of the problem
  • Proposed approach of the problem
  • Proposed evaluation plan with specific metrics
  • Tasks and tools to be used
  • Schedule to be followed
  • References (2-3 to begin with)
If you are comparing approaches or applying approaches in a new setting (e.g., your work/research group), the structure will be a little different.
  • The background of the problem
  • A statement of the problem
  • Approach(es) to be used to solve the problem
  • Proposed evaluation or comparison plan with specific metrics
  • Tasks and tools to be used
  • Schedule to be followed
  • References (2-3 to begin with)
The proposal must be 2-3 pages long, 11 pt font size, single column, and single spaced.

Initial Reading List (will be updated)

  1. Yue Jia, Mark Harman. An Analysis and Survey of the Development of Mutation Testing. IEEE Trans. Software Eng. 37(5): 649-678 (2011) Link
  2. Lee Naish, Hua Jie Lee, and Kotagiri Ramamohanarao. 2011. A model for spectra-based software diagnosis. ACM Trans. Softw. Eng. Methodol. 20, 3, Article 11 (August 2011). Link.
  3. Cristian Cadar, Koushik Sen: Symbolic execution for software testing: three decades later. Commun. ACM 56(2): 82-90 (2013). Link.
  4. Martin Monperrus. “Automatic Software Repair: a Bibliography”, Technical Report #hal-01206501, University of Lille. 2015. Link.
  5. Shin Yoo, Mark Harman: Regression testing minimization, selection and prioritization: a survey. Softw. Test., Verif. Reliab. 22(2): 67-120 (2012) Link.

Submission

Submit a document called EID_proposal.pdf. For example, I would submit my proposal as ghosh_proposal.pdf. Submit the file using Assignment Submission in Canvas.