CS 618: Program Analysis (2017-2018)
Lecture Hours: Monday and Thursday 3:30 to 4:55 (Slot 9)
Venue: KR Building SIC 305
Lecture Schedule and Tentative Coverage Plan
Lecture No Day Date Module Topic
1 Monday 17-Jul Introduction Motivation and introduction to data flow analysis: examples of analysis and optimization
2 Thursday 20-Jul Program model, computing static abstractions and states, precision and soundness of static abstractions (OR selection test, if required)
3 Monday 24-Jul Bit Vector Data Flow Frameworks Live variables analysis
4 Thursday 27-Jul Available expressions analysis
5 Monday 31-July Reaching definitions analysis and anticipable expressions analysis
6 Thursday 3-Aug Make up session on bit vector frameworks
7 Monday 7-Aug Quiz 1 (Bit vector frameworks)
8 Thursday 10-Aug Theoretical Abstractions in Data Flow Analysis Introduction to constant propagation
9 Monday 14-Aug Lattice theoretic modeling of data flow information
10 Thursday 17-Aug Flow functions, monotonicity and distributivity
11 Monday 21-Aug MoP and MFP assignments
12 Thursday 24-Aug Complexity of data flow analysis, worklist based methods
13 Monday 28-Aug General Data Flow Frameworks Constant propagation revisited
14 Thursday 31-Aug Strongly live variables analysis
15 Monday 4-Sept Pointer analysis, Anderson's and Steensgard's approaches
16 Thursday 7-Sept Make up session
Mid-Semester Examination
17 Monday 18-Sep General Data Flow Frameworks Liveness based pointer analysis
18 Thursday 21-Sep Liveness based pointer analysis
19 Monday 25-Sep Liveness analysis of heap data
20 Thursday 28-Sept Liveness analysis of heap data
21 Thursday 5-Oct Design of Data Flow Analyses Design tutorial on data flow analysis
22 Monday 9-Oct Design tutorial on data flow analysis
23 Thursday 12-Oct Quiz 2 (General data flow frameworks)
24 Monday 16-Oct Interprocedural Data Flow Analysis Introduction to interprocedural data flow analysis
25 Monday 23-Oct Functional approach
26 Thursday 26-Oct Functional approach: Enumeration Approach
27 Monday 30-Oct Functional approach: Graph Reachability
28 Thursday 2-Nov Call strings based method
29 Monday 6-Nov Value context based interprocedural analysis
30 Thursday 9-Nov

End-Semester Examination