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:
- Demonstrate usage of the tool to the rest of the class in 10 minutes
and provide an approximately 2-page tutorial that enables the other
students in the class to duplicate your demonstration.
- Find 10 or more papers related to the project and describe the research
problem these papers are all trying to solve.
- Describe the space of solutions presented in the papers.
- Evaluate the analysis and/or transformation on a benchmark we have used
in class or some other relevant benchmark. Quantitatively,
how well does the tool solve
the problem it sets out to solve? What are some limitations?
- Indicate parts of the problem that remain to be solved and
possible future research.
- Present your findings to the rest of the class.
Here are some possible projects to consider:
For each deliverable, you need to submit an electronic copy via RamCT.
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.
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
- describe and motivate the research problem that the tool you
are studying seeks to solve,
- describe the space of solutions presented in at least 8-10 related research papers,
- evaluate the analysis and/or transformation on a benchmark
we have used in class or some other relevant benchmark,
- and indicate parts of the problem that remain to be solved and
possible future research.
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.