Compiler research for a long time was moribund, stuck
on narrow topics such as register allocation and instruction scheduling.
In contrast, the last decade has seen an explosion of interesting work
using compilers to accomplish something cool. This class will cover a
selection of such research papers, ranging across static and dynamic bug finding,
binary analysis,
reverse engineering, programming via sketching, and other topics that
seem worth knowing. The class is discussion oriented. You will
read (typically) one paper before each class thoroughly, which will
be dissected during the class period.
By the end of the course you will be able to read a technical paper and
extract its essence as well as noticing when the authors have sinned by
omission in their experiments or wording.
Papers will be somewhat bimodal.
We will often start with an older one to set the stage (since they are simpler),
and then a later one so you can see what the current thinking is.
In addition,
students
will form groups of 1-3 and do a final project of their design which they will present.
Instructor |
|
||||||
TA |
|
Lectures |
Tues, Thurs 2:15 to 3:30 in 380-380C |
Prerequisites |
cs243 or permission from instructor |
Staff mailing list |
|
Midterm |
May 11th |
Project Presentations |
June 9th |
Final exam |
June 1st |