For each paper, you should read the paper, mark it up with comments, and then at the end of the paper, write three sentences: (1) one sentence that summarizes the paper (2) one sentence that summarizes the main limitation of the paper (3) one sentence that states possible directions for future work.

1/26: Superoptimizer -- A Look at the Smallest Program (optional: read the beginning of this post for a brief history of superoptimizers)

2/2: Stochastic Superoptimization

2/21: Classic Bug Reports , including some compiler ones. Don't print anything out! Just write down your insights on a piece of paper: what did you learn by reading these?

2/21: Automatically proving the correctness of compiler optimizations

2/28: Provably Correct Peephole Optimizations with Alive