University of Minnesota
Program Analysis for Security
index.php

Research project

An important part of this course is a large research project, which you will complete as part of a group over the course of the semester.

Project goals

This idea of the project is to be smaller-sized version of the experience of doing research, much like the process that led to the creation of the papers we read in class. This gives you an opportunity to identify and define a previously unsolved research problem, solve it, and then present the results to others.

The project is evaluated using standards modeled after those used to evaluate professional research papers (though with expectations set appropriately for graduate students). Specifically a good project will have the following attributes:

  • Innovative: The topic of the project is a research question that has not previously been answered, and the project contributes a new approach in order to answer that question.
  • Scholarly: The research is put in the context of previous research in the same area, and makes clear which aspects are novel.
  • Appropriately evaluated: The project is evaluated using experiments, case studies, proofs, etc., as appropriate. The evaluation is sufficient to convince a skeptical reader that the project has achieved its goals.
  • Well presented: The written report and in-class presentation are professional in appearance, and present the research with enough detail to be clear to a technical reader in the area.

Initial in-person meetings

Between 2/4 and 2/15, each group should meet with the instructor outside of class to discuss their plans for the project.

Project proposal

By Friday, March 1st, each group should submit a proposal document describing their plans for the project. The proposal should be about one page long, and it should cover (briefly, of course), the following topics:

  • What is the research question your project addresses. I.e., what will you know after finishing the project that no one knew before?
  • At a high level, what technical approach do you plan to take to answer that question? How do you plan to combine existing software, if any, with newly implemented techniques?
  • How do you plan to evaluate your approach, such as by experiments or case studies? What sort of subject programs will your system operate on?
  • How does your project compare to other research that has already been done? For the initial proposal, it's enough to mention the one previous project or paper that is closest to your project, and explain the similarities and differences.
  • What's the timeline for the work you will be doing between now and the end of the project? In particular you should have some specific milestones to accomplish in time for the interim report on April 5th 12th.
  • If your group has more than one person, describe how you plan to divide up the work.

Submit your proposal in PDF format to the instructor by email, no later than 11:59:59pm on Friday, March 1st.

Interim project report

By Friday, April 12th, no later than 11:55pm, you'll submit an intermediate report describing your progress in the project to that point. This report should be at least two pages long, using the format of an ACM SIGPLAN conference paper (for reference, your final report should be around 10 pages in this format). The report should answer all the same questions as in the proposal above, updated with any changes of plans that have occurred. And it should also have at least one page worth of description all the research progress you've made so far. There's no maximum size for the interim report, so you can provide more detail in order to get the instructor's feedback on it.

One person from each project group should submit your report in PDF format, using the form on the course Moodle page.

Final project report

By Friday, May 10th (no later than 11:55pm), you'll submit the final report on your project. This report should be 8-12 pages long, using the format of an ACM SIGPLAN conference paper. The report should cover all the work you did on the project, and it should be similar in style to the research papers we've been reading. In particular, it should include an abstract and introduction that summarize the context of the work and your contributions; clear descriptions of your technical approach; a description of how your evaluated your work; and a discussion of related work.

One person from each project group should submit your report in PDF format, using the form on the course Moodle page.