THE SCHEDULE IS VERY LIKELY TO CHANGE!
Date |
Topic |
Reading |
Lecture
Notes |
Homework |
Jan 8 |
Introduction |
|
||
Jan 11 |
Dataflow Analysis: four classical dataflow problems |
Ch. 9.1 and 9.2
from the Dragon Book |
HW1
(Dataflow) |
|
Jan 18 |
Classical dataflow problems, Dataflow frameworks:
lattices |
9.3 from the Dragon Book |
|
|
Jan 22 |
Dataflow frameworks,
cont.: transfer functions, worklist algorithm, MFP and MOP solutions |
Quiz 1 |
||
Jan 25 |
Dataflow frameworks:
conclusion, Non-distributive
analysis: constant propagation, points-to analysis |
|
||
Jan 29 |
Analysis in practice: Soot program analysis
framework, analysis scope and approximation, intro to HW2 |
HW1 due HW2 (Class analysis of Java with Soot) |
||
Feb 1 |
Class analysis, CHA and RTA |
|||
Feb 5 |
Class analysis, cont.:
XTA, 0-CFA and PTA |
Quiz 2 |
||
Feb 8 |
Class analysis,
conclusion. |
|
HW2
due, HW3 (Class analysis with Soot) |
|
Feb 12 |
Interprocedural analysis: MORP, functional and call-string
approaches, context sensitivity |
Ch. 12.1 and 12.2
from the Dragon Book |
Lecture10 [pdf] |
|
Feb 15 |
Catch-up lecture: context sensitivity in practice |
Quiz 3 Lecture11 [pdf] |
||
Feb 20 (Tue) |
Abstract Interpretation: Semantics,
notion of abstraction |
Lecture12 [pdf] |
HW4 (CI assignment) |
|
Feb 22 |
Abstraction
relation, alpha and gamma, Galois connections |
Lecture13 [pdf] |
HW3 due |
|
Feb 26 |
Galois connections, transformers |
Lecture14 [pdf] |
||
Feb 29 |
Types and Type-based
Analysis: lambda calculus |
Ch. 5 and 6 from Pierce |
Quiz 4 |
HW4 due, HW5 (Abstract
Interpretation and Haskell) |
Mar 11 |
Lambda calculus,
cont.: reduction strategies, interpreters, Haskell |
Ch. 8 and 9 from
Pierce |
Lecture16 [pdf] |
HW3 and HW4, final deadline |
Mar 14 |
Simply typed lambda
calculus |
Ch. 8 and 9 from
Pierce |
Lecture17 [pdf] |
|
Mar 18 |
Progress and preservation |
Lecture18 [pdf] |
||
Mar 21 |
Simple type inference: equality constraints
unification, substitution |
Ch. 22 and 23 from Pierce |
Quiz 5 Lecture19 [pdf] |
HW5 due, HW6 (Haskell) |
Mar 25 |
Simple type inference:
equality constraints unification, substitution |
Lecture20 [pdf] |
||
Mar 28 |
Polymorphism,
Hindley Milner type inference |
Lecture21 [pdf] |
||
Apr 1 |
Hindley Milner type inference: Algorithm W |
Lecture22 [pdf] |
||
Apr 4 |
Hindley Milner, conclusion; Haskell |
Quiz 6 Lecture23 [pdf] |
||
|
NO CLASS |
HW6 due, |
||
Apr 11 |
Take-home final |
|||
Apr 15 |
||||
Apr 18 |
||||
Apr 22 |
Take-home final due and CI paper critique due at NOON
on Friday April 26th |