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. There will be questions about the papers on the midterm and final.

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

2/1: Stochastic Superoptimization

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

2/20: Automatically proving the correctness of compiler optimizations

2/27: Provably Correct Peephole Optimizations with Alive