| Date | Topic | Reading | Presenter |
| 8/25 | Intro: logistics of course, why program analyses, and flavors of program analyses | None | Amer |
| 8/27 | Intro to data flow analysis and constraint based analysis | Chapter 1 up to and including 1.4 | Amer |
| 8/29 | Intro to Abstract interpretation and type and effect systems | 1.5 - 1.8 inclusive | Amer |
| 9/3 | (forward, backward) x (union, intersection) data flow analyses | 2.1 | Devin |
| 9/5 | Monotone frameworks | 2.3, 2.4 | Jude |
| 9/8 | Combined analyses | Click's paper | Jude |
| 9/10 | No class: family emergency | ||
| 9/12 | Interprocedural data flow analysis | 2.5 upto 2.5.3 (inclusive) | Geoff |
| 9/15 | Context sensitive data flow analysis | Remainder of 2.5 | Azhar |
| 9/17 | No class: Amer is out of town | ||
| 9/19 | IPA continued | ||
| 9/22 | Coming up for air: IPA and Shape analysis | Amer | |
| 9/24 | Shape analysis | 2.6 up to and including 2.6.2 | Weiyu |
| 9/26 | Shape analysis continued | Remainder of 2.6 | Devin |
| 9/29 | Shape analysis continued | Overflow from previous lecture | Devin |
| 10/1 | Shape analysis
(wrapup) Example analyses in the literature: pointer analysis using assumption sets |
Landi and Ryder |
Devin Joe |
| 10/3 | Pointer analysis using assumption sets (cont) | Joe | |
| 10/6 | Example analyses in the literature: connection analysis | Ghiya and Hendren (upto and including Section 2) | Todd |
| 10/8 | Coming up for air: shape analysis and constraint-based analyses | Amer | |
| 10/10 | Control flow analysis | Section 3.1, skip 3.1.2 | Graham |
| 10/13 | 0-CFA | Sections 3.3 and 3.4.1; Skip proofs | Joe |
| 10/15 | Solving constraints | Section 3.4.2 | Geoff |
| 10/17 | Points-to analysis using constraints | Hirzel et al.'s paper | |
| 10/20 | Adding data-flow information to CFA | Section 3.5 | Geoff |
| 10/22 | Adding context to CFA | Section 3.6 | Devin |
| 10/24 | Discuss projects | ||
| 10/27 |
Coming up for air: Constraint based and type based analyses |
||
| 10/29 | Intro to type systems | Section 5.1 | Azhar |
| 10/31 | Algorithm for the underlying types | Section 5.3.1 | Jude |
| 11/3 | Algorithm for control flow analysis | Section 5.3.2 | Weiyu |
| 11/5 | Finish control-flow analysis | Weiyu finishes up | |
| 11/7 | Amer is out of town: no class | ||
| 11/10 | Side-Effect Analysis | Section 5.4.1 | Azhar |
| 11/12 | Exception Analysis | 5.4.2 | Joe |
| 11/14 | Region semantics | 5.4.3 | Geoff |
| 11/17 | Region inference analysis | Tables 5.12, 5.13 | Geoff |
| 11/19 | Points-to analysis using type-based analysis | Steensgaard's paper | Weiyu |
| 11/21 | Object-oriented type inference | Palsberg and Schwartzbach's paper | (didn't get to it) |
| 12/1 | Intro to AI | Section 4.1 upto and including 4.1.1 | Azhar |
| 12/3 | Object-oriented type inference | Palsberg and Schwartzbach's paper | Jude |
| 12/5 | AI (cont) | Section 4.1.2, 4.1.3 | Weiyu |
| 12/8 | Approximation of fixed points | 4.2 (upto and excluding 4.2.1) | Joe |
| 12/10 | Project presentations | ||
| 12/12 | Project presentations |