CS 553 Term Project

Project Proposal Due Monday October 13th (by 2:30pm)
In-Class Demos Due Monday November 17th (by 2:30pm)
Project Papers Due Friday December 12th (by 2:30pm)
Project Presentations Due December 17th During Final Exam Slot (4:10-6:10pm)


The goal of this project is for you to do an in-depth exploration of how an existing research project uses program analysis and/or program transformation to solve a research problem.

Find a research project that is using LLVM or some other program analysis and/or transformation tool and do the following:

Here are some possible projects to consider:


For each deliverable, you need to submit an electronic copy via RamCT.

Project Proposal

The project proposal should be on the order of a page or two describing the research project tool you want to focus on, what aspects of the tool you will demonstrate to the class in a tutorial fashion, what problem that research project is solving, how you will evaluate the research project tool in terms of metrics and benchmarks you will use, and identify with full citations at least 3 of the 10 or more papers that will be the basis of the project report due at the end of the semester.

You can format the project proposal and the project report as you wish, however the easiest approach is to use latex. (See the assignments page for the latex template the shows how to use latex.).

In-Class Project Demo

You will be demonstrating the research tool you are studying in class. You will have 10 minutes for your demo, therefore it should only involve showing a small input file (~10 lines), demonstrating the mechanism the tool uses to analyze or transform the input (command line or GUI), and showing the output. If time allows you can show a graph of performance improvements or other summary data for some of your larger benchmarks.

A tutorial (max 2 pages) should be provided with the demonstration so that we can try out the tool as well. The best way to provide this information is through a webpage so that it is easy to link to resources we might need to try the tool. We will be sharing these tutorials on the web.

Project Paper

The final report should be in the form of a 6-10 page conference paper (e.g., you could use the IEEE double-column latex format). As with a conference paper, the final report should

Project Presentation

During the finals time slot (Wednesday December 17th 4:10-6:10pm), each student will give a 15 minute presentation about their project. If there are more than 6 students in the course we will set up more time slots. You will be limited to 3 slides for your presentation. (UPDATE: Due to the number of students, each student has 20 minutes for their talk and they can have up to 4 slides. The title slide doesn't count.) The slide limit and time limit is strict. You will be graded on your presentation skills and the content in your slides, therefore you should practice this talk ahead of time. In class we will be discussing strategies for focusing on the most critical points of a project when presenting it.

mstrout@cs.colostate.edu, 12/10/14