15-745 Optimizing Compilers

Spring 2006

Spring 2006 Project Web Pages

Project Resources

There are many compiler infrastructures used by researchers today. You are welcome (even encouraged) to use the L3 infrastructure. By now you should be quite familiar with it and the intermediate language provides many opportunities for further analysis and optimization on a realistic scale.

You might also be interested in choosing an alternative compiler infrastructure for your project. There are various reasons for this. Most real compiler infrastructures are much larger and support real-world programming languages, like C or ML. This makes your project more "real", at the expense of a lot of extra implementation detail. Also, other infrastructures are not tied to the x86 target architecture, but may support machines such as the Itanium. Finally, you might be planning to devote much of your graduate studies to compiler development. In that case, a more comprehensive infrastructure might be very useful for you, in the long run.

In general, you are advised to use the infrastructure that most directly allows you to address the problem or idea you are working on.

Here are some links:

Project Proposal Guidelines

Your project proposal should be roughly two pages long. You are strongly encouraged to discuss in person or send email with your idea to Peter Lee before getting too far into writing. Feel free to see me during office hours or by appointment.

Your proposal should include the following information:

Please put a copy of your proposal on your web site, and turn in (by email) your URL to Mike by the due date of April 3, 2006.

Project Ideas and Requirements

Your projects are not expected to produce ground-breaking research results. However, they are expected to go beyond an undergraduate-level compiler project, in the sense that they should address concepts and problems that are relevant to today's research. We also expect your project to have an experimental component, which typically means doing at least some (and in many cases, a large amount) of implementation work.

In the end, your final results will be presented by a combination of text+pictures on your project web site, plus a poster presentation. We'll have a small poster session (date and time TBD) during the finals week.

Here are some ideas (not all of them carefully thought through, so please be careful!), to help you get started with brainstorming.

Past Projects