CS 618: Program Analysis (2012-2013)










Lecture Hours: Monday and Thursday 2:00 to 3:25 (Slot 8)





Venue: KR Building SIC 301





Lecture Schedule and Coverage Plan










Lecture No Day Date Module Topic
1 Thursday 19-Jul Bit Vector Data Flow Frameworks Motivation and introduction to data flow analysis: examples of analysis and optimization
2 Monday 23-Jul Live variables analysis
3 Thursday 26-Jul Available expressions analysis
4 Monday 30-Jul Reaching definitions analysis and anticipable expressions analysis,
5 Thursday 2-Aug Introduction to partial redundancy elimination
6 Monday 6-Aug Classical partial redundancy elimination
7 Thursday 9-Aug Check point 1: Tutorial/quiz/make up session on bit vector frameworks
8 Monday 13-Aug Theoretical Abstractions in Data Flow Analysis Introduction to constant propagation
9 Thursday 16-Aug Lattice theoretic modeling of data flow information
10 Thursday 23-Aug Flow functions, monotonicity and distributivity
11 Monday 27-Aug MoP and MFP assignments
12 Thursday 30-Aug Complexity of data flow analysis, worklist based methods
13 Monday 3-Sep
Design tutorial on data flow analysis
14 Thursday 6-Sep Check point 2: Tutorial/quiz/make up session on theoretical abstractions in data flow analysis
Mid-Semester Examination
15 Monday 17-Sep General Data Flow Frameworks Constant propagation revisited
16 Thursday 20-Sep Strongly live variables analysis
17 Monday 24-Sep Pointer analysis, Anderson's and Steensgard's approaches
18 Thursday 27-Sep Liveness based pointer analysis
19 Monday 1-Oct Liveness based pointer analysis
20 Thursday 4-Oct Liveness analysis of heap data
21 Monday 8-Oct Liveness analysis of heap data
22 Thursday 11-Oct Design tutorial on data flow analysis
23 Monday 15-Oct Check point 3: Tutorial/quiz/make up session on general data flow frameworks
24 Thursday 18-Oct Interprocedural Data Flow Analysis Introduction to interprocedural data flow analysis
25 Monday 22-Oct Functional approach
26 Thursday 25-Oct Functional approach
27 Monday 29-Oct Call strings based method
28 Thursday 1-Nov Value based termination of call string construction
29 Monday 5-Nov Value based termination of call string construction
30 Thursday 8-Nov Check point 4: Tutorial/quiz/make up session on interprocedural data flow analysis
31 Monday 12-Nov
Conclusions, wrap up