Termpaper

DUE: 11:59 PM, May 1, 2017

100 points

1. What to put in the termpaper

Recall the description of a good software engineering paper by Mary Shaw. Follow the guidelines to write a good paper.

The termpaper must be 10 pages long, 11 pt font size, single column, and single spaced. With references, you can go up to a total of 11 pages but the last page must contain only references. The termpaper must contain the following items:

  • Title: This should not just say termpaper. It should concisely describe your project.

  • Author name

  • Author affiliation

  • Abstract: This is an unnumbered section. I want a concise and factual abstract, not more than 300 words. The abstract should contain these items: Context, Objective, Method, Results and Conclusions, each written in one or two sentences. Another approach is to use Kent Beck's four sentences:
    1. State the problem.
    2. State why the problem is a problem.
    3. A startling sentence.
    4. The implication of the startling sentence.

  • Keywords: List of 5 key terms (e.g., higher order mutation, test generation, mutation score, symbolic execution, branch coverage). This section is not numbered.

  • Introduction: Section numbering starts here from 1. Describe what you are doing, why you are doing, and how you are doing. The reader must understand what problem is being addressed in your project, why is the problem important and significant, and how did you solve the problem and evaluate it. Most readers make up their minds about a paper after going through the introduction, so you must get their attention here.

  • Depending on what kind of work you did (i.e., invent a new approach, compare existing approaches, or just evaluate one approach), the structure will differ. For example, if you are inventing an approach, you should have a numbered section called Approach. If you are comparing other approaches, you should have one or more numbered section that describes those approaches. There should be one or more numbered sections for the empirical evaluation. The reporting of the empirical evaluation must make the following aspects clear:

    1. Goal of the evaluation: What are you demonstrating? What research question are you answering?

    2. Metrics used: State and define precisely each metric. Don't assume the reader already knows what the metric means.

    3. Steps used to perform each evaluation: What benchmarks were used, what tools were used, what sequence of steps were performed (e.g. select benchmark, introduce mutations, run test generator, run test cases, measure coverage and mutation score, repeat 10 times with different seeds).

    4. Results: This shows raw data

    5. Discussion: Discuss and explain the results

    6. Threats to validity: Identify what problems could exist. Here are the typical threats. List them and comment on them.

      1. External validity: Do the results apply or can you generalize the results you got in other contexts? For example, you tried your approach on small programs and the test generator was very effective. However, it's possible that the test generator won't be as effective on larger programs. You need to discuss why that may happen but still argue why your results are still useful.

      2. Internal validity: Does the treatment actually cause the effect on the outcome? Can some other factor have had an effect too? For example, someone may study attendance levels in classes that are video-recorded and those that aren't,and conclude that in most cases lectures that are video-recorded have lower attendance. However, its possible that many of the video-recorded classes are held during early hours, and students just don't want to wake up early.

      3. Construct validity: Are you measuring what you think you are measuring? The independent and dependent variables should accurately model the abstract hypotheses.

  • Related work: This section is numbered. Summarize work that's related but also briefly discuss how/why your work is similar/different and why the similarity/difference aspect is important.

  • Conclusions: This is the last numbered section. In this section, do not summarize the paper or what steps you took. Instead, summarize the main lessons learned and the key results.

  • References: The section is not numbered but the full citations are numbered. Don't just list the URL. All authors, title of manuscript, publication venue such as tech report, workshop, conference, or journal, location date of publication. References should be written in a consistent manner. References should be cited in the appropriate places throughout the text of the paper.


2. Caution Against Plagiarism

The written text should be your own. Convey ideas using your own words. Cite papers whenever you use someone else's ideas or need evidence to support claims. If you use words or sentences verbatim from another source, you must put quotes around the words/sentences, AND cite the source. Not doing so is considered plagiarism, which will incur severe penalties outlined in the course syllabus and policies.

I will run your termpaper using the VeriCite tool, which checks for plagiarism in papers. To make it easier for you, I am using VeriCite with the Canvas submission system so that you can yourself check the text for similarity with other published documents.


3. Submission

Submit a document called EID_termpaper.pdf. For example, I would submit my proposal as ghosh_termpaper.pdf. Submit the file using Assignment Submission via VeriCite in Canvas.