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 |