Abstract Interpretation by Cousot and Cousot


Jeremie Lasalle Ratelle will present Abstract Interpretation (http://www.di.ens.fr/~cousot/COUSOTpapers/publications.www/CousotCousot-POPL-77-ACM-p238-[masked].pdf) by Cousot and Cousot, one of the most cited papers in compilation (and one of the 10 papers that all PhD students in programming languages ought to know (https://github.com/nuprl/10PL)).

This is the classic paper that unified previously ad hoc techniques in compilers and gave birth to modern concepts of static analysis. (It's worth comparing it with one of its major predecessors, Gary Kildall's earlier work (https://static.aminer.org/pdf/PDF/000/546/451/a_unified_approach_to_global_program_optimization.pdf).) The focus will be more on the concepts and their practical implications than on the details of lattice theory.

Jeremie will also talk about how static analysis evolved since this paper, and the use of these techniques in practice. Originally he was going to present Shivers's Control Flow in Scheme (http://www.ccs.neu.edu/home/shivers/papers/pldi88.pdf) (or maybe part of Shivers's thesis, I can't remember), so you can be sure that will get a mention.

Everyone interested in the practical aspects of compiler design should come, as we will have lots of discussion of static analysis and optimization.

AdGear are graciously providing the venue as usual, and there will be pizza and beer.