CS 343

Advanced Topics in Compilers - Spring 2014

Course Description

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. A good paper along these lines is here.

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.

Previous offerings:

Logistics

Class

Instructor

Syllabus

April 1 (Tue)

Dynamic Analysis Tools

April 3 (Thu)

April 8 (Tue)

April 10 (Thu)

April 15 (Tue)

Optimizing JITs

April 17 (Thu)

April 22 (Tue)

Dynamic Code Generation

April 24 (Thu)

April 29 (Tue)

May 1 (Thu) - Midterm Exam

Cool Hacks

May 6 (Tue)

May 8 (Thu)

May 13 (Tues)

May 15 (Thu)

May 20 (Tue)

May 22 (Thu)

May 27 (Tue)

May 29 (Thu)

June 3 (Tue)