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. You need to hand in your marked-up paper in class on the day the reading is due.

4/10: Customization: optimizing compiler technology for SELF, a dynamically-typed object-oriented programming language

4/17: Trace-based Just-in-Time Type Specialization for Dynamic Languages

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

5/22: The ant and the grasshopper: fast and accurate pointer analysis for millions of lines of code

Optional: Pointer Analysis: Haven’t We Solved This Problem Yet?