Schedule

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

Lecture schedule

Date Lecture topic Lecturer
10.02. Sensible arrangements of flow functions Bodden
28.10. Introduction and course outline Bodden
04.11. Type systems and flow-insensitive, contraint-based analysis Bodden
11.11. Lattices and fixed points Bodden
18.11. Intra-procedural flow-sensitive static code analysis Bodden
25.11. Interval analysis, widening and narrowing Bodden
02.12. Call-graph construction Bodden
09.12. Pointer Analysis Bodden
16.12. Inter-procedural program analysis Bodden
06.01. Call-strings approach to context-sensitive analysis Bodden
13.01. Functional approach to context-sensitive analysis Bodden
20.01. VASCO Bodden
27.01. Distributive analyses using IFDS Bodden
03.02. Distributive analyses using IDE Bodden

Exercise / Lab schedule

Date Lecture topic Teaching Assistants
03.11. No Exercise -
10.11. Jimple and control-flow graph -
17.11. Lattices and design decisions -
24.11. Intra-procedural analysis and monotone framework -
01.12. Constant Analysis -
08.12. Call-graph cconstruction -
15.12. Points-to analysis -
22.12. Field & access paths -
12.01. Call-strings approach to context-sensitive analysis -
19.01. Precision & scalability -
26.01. VASCO -
02.02 Distributive analyses using IFDS -
09.02 Distributive analyses using IDE -
16.02 Recap -

Lab assignments

Lab Hand out date Due date
L0 Introduction to the labs 10.11. -
L1 Intra-procedural typestate analysis 24.11. 08.12.
L2 Call-graph algorithms and pointer analysis 08.12. 22.12.
L3 Inter-procedural and field-sensitive taint analysis 12.01. 26.01.
L4 Call-strings approach 26.01 09.02.