Static analysis seminar
Instructor: Matt Might.
Time: Wednesdays from 2:00pm to 3:00pm.
Disclaimer: This syllabus is tentative and subject to change.
Seminar summary
In this seminar, we'll start by looking at and discussing important works related to static analysis, moving in (tentatively) chronological order. The historical perspective improves understanding, because the original paper for a particular topic or method usually can't assume any prior knowledge. As a result, the original papers tend to be readable papers.
Once we've built a foundation with the seminal works, we'll begin to look at my published and yet-to-be-published papers.
Email me if there's a static-analysis-related paper you'd like to discuss in the seminar.
Grading
- Attend at least two-thirds of the meetings.
- Ask questions about things you don't understand.
- Offer comments at least tangentially related to the topic of the week.
- Pick one week to act as the designated "discussion guide."
Each week's discussion guide will be responsible for keeping discussion moving by moderating a list of self-generated discussion questions and topics about that week's paper.
Tentative schedule
- A lattice-theoretical fixpoint theorem and its applications. Tarski. 1955.
- Assigning meaning to programs. Floyd. 1967.
- A unified approach to global program optimization. Kildall. 1973.
- Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. Cousot and Cousot. 1977.
- Systematic Design of Program Analysis Frameworks. Cousot and Cousot. 1979.
- Control-flow analysis in Scheme. Shivers. 1988.
- Efficiently computing static single assignment form and the control dependence graph. Cytron, Ferrante, Rosen, Wegman, Zadeck. 1991.
- Points-to analysis in almost linear time. Steensgaard. 1996.
- Parametric shape analysis via 3-valued logic. Sagiv, Reps and Wilhelm. 2002.