The week of 3/30–4/3, we’ll begin writing up and working on our projects.
Due 3/30 at 11:59pm is a project proposal writeup—about than 2 pages long (when formatted at 10pt, two-column, single-spaced, in the format of most of the papers we’ve read). One proposal needs to be submitted from each team.
Make sure you discuss each of these major subjects. After each major subject is a list of secondary points; you don’t need to hit them all. Every project will be stronger in some areas and weaker in others; just be honest.
- What is the debugging and/or software reliability issue your project aims to address?
- Is your target a particular genre of program? (Examples: “C software that uses floating point, but not irrational/transcendental functions”; “web applications.”) How big/important is that genre? What are the consequences of the bugs or design issues you aim to address?
- What is the ideal goal of your project, if the work goes perfectly?
- How many of the bugs or design issues identified above will your project catch or mitigate?
- What is the minimal goal of your project, if the work goes badly?
- What are you worried about?
- What technologies do you plan to use to accomplish your project’s goals? (Examples: KLEE, Frama-C, Coq, the Z3 solver, etc.)
- What paper or papers would you like us to read relating to your project?
- Pick at least one, from the “upcoming papers” list or elsewhere.
- What is your one-week project?
- In class on Monday 4/6, each project will present the results of their first week of project hacking.
- The one-week project will naturally involve the simplest, most concrete pieces of your larger project—simple bugs (maybe bugs you inject yourself), simple technologies.
- The one-week project is allowed to fail. Think of the one-week project as a way to discover whether your large project idea needs tuning.
- But I want this first-week project to be interesting and even impressive, so aim high!
- What’s your collaboration plan? How will the team divide work?
Reminder: Class Monday is optional. I will be there to meet with project teams and help out.
I will set up meetings with each team to discuss their project proposals over next week.