CSE 231: Advanced Compilers

Course Project Information


Your project will consist of exploring some interesting research ideas. You have a choice between using the class-provided infrastructure, or using an infrastructure of your choice.

The class-provided infrastructure is the Whirlwind compiler developed at UW. The Whirlwind compiler is written in the Diesel language, and the compiler for Diesel is called Vortex.

If you are doing a project related to Rhodium, then you should definitely use Whirlwind, because you will then be able to reuse all the Rhodium infrastructure implemented in Whirlwind. Otherwise, you should think carefully about what you need for your project, and decide on the best infrastructure to use. Some other infrastructures include Polyglot and Soot. I can help you with this decision.


Milestone 0: Form Groups (due Thursday Sep. 29)


Milestone 1: Project proposal (due Tuesday Oct. 17th)


Milestone 2 (if using Whirlwind): Set Up Diesel and Whirlwind (due Tuesday Oct. 24th)

Milestone 2 (if NOT using Whirlwind): Demonstrate understanding of your infrastructure (due Tuesday Oct. 24th)


Milestone 3: Mid-term presentations (during class on Tuesday Nov 7th)

Milestone 4: Final presentations (during finals week)

Milestone 5: Final project report due (due on Thursday Dec. 7th)