CS 618: Program Analysis (2010-2011)



Lecture Hours: Wednesday and Friday 9:30 to 10:55 (Slot 5)

Venue: KR Building SIC 205

Lecture Schedule and Coverage Plan



Sr No

Day

Date

Topic

1

Friday

July 23

Motivation and introduction to data flow analysis: examples of analysis and optimization

2

Wednesday

July 28

Program execution model, Execution semantics, Bit vector data flow frameworks: Liveness analysis

3

Friday

July 30

Bit vector data flow frameworks: Available expressions analysis

4

Wednesday

Aug 04

Bit vector data flow frameworks: Reaching Definitions Analysis and Anticipable expressions analysis 

5

Friday

Aug 06

Bit vector data flow frameworks: Classical partial redundancy elimination

6

Wednesday

Aug 11

Bit vector data flow frameworks: Classical partial redundancy elimination

7

Friday

Aug 13

Check point 1: Tutorial/Quiz/make up session on Bit vector frameworks

8

Wednesday

Aug 18

Non- separable data flow frameworks: Constant propagation

9

Friday

Aug 20

Theoretical abstractions in data flow analysis: Lattice theoretic modeling of data flow information

10

Wednesday 

Aug 25

Theoretical abstractions in data flow analysis: Flow functions, monotonicity and distributivity

11
Friday
Aug 27 Theoretical abstractions in data flow analysis: MoP assignments, existence and soundness

12

Wednesday 

Sept 01

Theoretical abstractions in data flow analysis: MFP assignments, existence and soundness

13
Friday Sept 03 Theoretical abstractions in data flow analysis: Complexity of data flow analysis, separability of flow functions

14

Wednesday 

Sept 08

Check point 2: Tutorial/Quiz/make up session on Theoretical abstractions in data flow analysis

Sept 11th to 18th : MID-SEMESTER EXAMINATION

15

Wednesday

Sept 22

General data flow frameworks: Constant Propagation Revisited

16

Friday

Sept 24

General data flow frameworks: Faint variables analysis

17

Wednesday

Sept 29

General data flow frameworks: Pointer analysis

18

Friday

Oct 01

General data flow frameworks: Pointer analysis

19

Wednesday

Oct 06

General data flow frameworks: Liveness analysis of heap data

20

Friday

Oct 08
General data flow frameworks: Liveness analysis of heap data

21

Wednesday

Oct 13

General data flow frameworks: Pointer analysis of heap data

22

Friday

Oct 15

General data flow frameworks: Pointer analysis of heap data

23

Wednesday

Oct 20

Check point 3: Tutorial/Quiz/make up session on General data flow frameworks

24

Friday

Oct 22

Introduction to interprocedural data flow analysis: inherited and synthesized data flow information, flow and context sensitivity

25

Wednesday

Oct 27

Functional approach to interprocedural data flow analysis

26

Friday

Oct 29

Functional approach to interprocedural data flow analysis

27

Wednesday

Nov 03

Call strings based method of interprocedural data flow analysis

28

Wednesday

Nov 10

Call strings based method of interprocedural data flow analysis

29

Friday

Nov 12

Check point 4: Tutorial/Quiz/make up session on Interprocedural data flow analysis

Nov 16th to 28th : SEMESTER-END EXAMINATION