Term Project

Term Projects

Your final task in this course will be to critically use the skills and techniques that you have learned about in class to explore some unanswered question within the context of program analysis. This may be as simple as implementing one of the techniques that we discussed in class in order to run and critical analyze some of the missing tests from the paper. It may be as complex as framing an entirely new problem and exploring potential solutions using the skills that you have acquired. You will ask and answer some question(s) that has(/have) not been tackled before. This project may be completed in pairs.


Before committing to a project, you must submit a one page project proposal in order to make sure that you are on a reasonable track. Your project proposal should clearly identify:

  1. The member(s) of your team.
  2. The problem that you wish to tackle. This includes:
    • A brief summary of the background/existing work in the area.
    • An explanation of the question / problem that you are addressing and how it is important / relevant to the existing work.
    • Initial thoughts on the tools that you wish to use and a speculative strategy for how you will attack the problem. Include the metrics that you plan to use to evaluate your results. (If you are answering a question of some sort, ou certainly need a means of measurements that facilitates this answer.) This need not reflect your final approach; it is an initial plan to show that you have some direction for your initial attempts.
  3. Citations of the paper or papers that are relevant for your work.


The final two class periods will be dedicated to student presentations of their term projects. This need not reflect the final state of the project, although it should cover the background, goals, methodologies, problems, and progress up to the point of the presentation. The final state of the project is reflected in the final papers.

Final Papers