CMSC 631, Fall 2007

Program Analysis and Understanding


Date Subject Slides Reading Assignment
Aug 30 Introduction pdf
Sep 5, 10 Ocaml pdf h1, due Sep. 17
Sep 12, 17 Induction and Operational Semantics pdf (Recommended) Chapter 3 of Pierce p1, due Oct. 1
Sep 19 Lambda Calculus pdf (Recommended) Chapter 5 of Pierce, available locally as parts 1 and 2.
Sep 24, 26, Oct 1 Type Systems pdf (updated 10/1) (Recommended) Pierce, Chapter 9, parts 1 and 2, and a typeset version of figure 9-1.
(Recommended) Proofs are Programs: 19th Century Logic and 21st Century Computing
h2, due Oct. 3
p2, due Oct. 15
Oct 3, 8 Type Qualifiers pdf (Optional) Flow-Insensitive Type Qualifiers, Foster, Johnson, Kodumal, and Aiken
(Optional) Type Qualifier Inference for Java, GreenfieldBoyce, Foster
h3, due Oct. 12 (my office, by 2pm)
Oct 10, 15 Data flow analysis pdf
(with animations)
(Recommended) Kildall, A Unified Approach to Global Program Optimization
(Optional) Chapter 2 from Hankin, Nielson, and Nielson text (heavy on the notation)
h4, due Oct. 22 (in class)
p3, due Oct. 29
Oct 17, 22 Program Verification (Axiomatic Semantics) pdf Recommended: An axiomatic basis for computer programming, C. A. R. Hoare (only 6 pages!)
Recommended: Huth and Ryan Logic in Computer Science Chapter 4, parts 1, 2, and 3
Optional: Extended Static Checking for Java, Flanagan et al. Download
h5, due Oct. 29 (in class)
Oct 24 Abstract Interpretation pdf (updated 10/25)
Nov. 5, 7 Exam
Nov. 12 FindBugs (guest lecture Bill Pugh)
Oct 29, 31, Nov. 14 Alias Analysis (applied to data race detection) pdf (Optional)Context-sensitive Correlation Analysis for Detecting Races, Pratikakis, Foster, and Hicks
Nov 19 ESP and Metal ppt Hallem, Chelf, Xie, and Engler, A System and Language for Building System-Specific Static Analyses
Das, Lerner, and Seigle, ESP: Path-Sensitive Program Verification in Polynomial Time
Nov 26, 28
Dec 3
The Coq proof assistant propositional logic overview, Pierce's third lecture Coq proofs (optional)
Dec 5 Project presentations Aaron Pendergrass
Mike Lam
Bao Nguyen and Ryan Blue
Dec 10 Project presentations Ben Langmead and Adam Fuchs
Eric Hardisty and Kyle King
Ranjit Kumaresan and Mohammadreza Ghosdi
Sukhyun Song
David An
Dec 17 Project writeups due

Valid HTML 4.01!