Schedule

The following course schedules are non-binding and may change at any time and without prior announcement.

 

Lecture schedule

Date Lecture topic Lecturer
12.10. Introduction and course outline Bodden
19.10. Type systems and flow-insensitive, constraint-based analysis Khedkar
26.10. Lattices and fixed points Bodden
02.11. Intra-procedural flow-sensitive static code analysis Bodden
09.11. Interval analysis, widening and narrowing Bodden
16.11. Call-graph construction Khedkar
23.11. Pointer Analysis Bodden
30.11. Inter-procedural program analysis Bodden
07.12. Call-strings approach to context-sensitive analysis Bodden
14.12. Functional approach to context-sensitive analysis Bodden
21.12. Distributive analyses using IFDS Bodden
18.01. Distributive analyses using IDE Khedkar
25.01. VASCO Bodden

 

Exercise / Lab schedule

Date Lecture topic Teaching Assistants
17.10. Introduction to exercises and labs -
24.10. Jimple and control-flow graph -
31.10. Lattices and design decisions -
07.11. Intra-procedural analysis and monotone framework -
14.11. Constant Analysis -
21.11. Call-graph construction -
28.11. Points-to analysis -
05.12. Field & access paths -
12.12. Call-strings approach to context-sensitive analysis -
19.12. Precision & scalability -
09.01. Distributive analyses using IFDS -
16.01. Distributive analyses using IDE -
23.01. VASCO -
30.01. Recap -

 

Lab assignments

Lab Hand out date Due date
L0 Introduction to the labs 07.11. -
L1 Intra-procedural typestate analysis 21.11. 05.12
L2 Call-graph algorithms and pointer analysis 05.12.

19.12.

L3 Inter-procedural and field-sensitive taint analysis 09.01. 23.01.
L4 Linear Constant Propagation Using IDE 23.01. 30.01.