Week by week

Planned content. Changes may occur. Details will be added during the course.





2018-09-14
13:15
Introduction
  • Class overview
  • Program Analysis application areas, foundations
  • Compilation and Execution
2018-09-21
13:15
Dataflow Analysis 1
2018-09-28
13:15
Dataflow Analysis 2
  • Lattices (textbook)
  • The MFP and MOP algorithms (textbook)
  • Monotone and Distributive Frameworks (textbook)
  • Basic interprocedural dataflow analysis (textbook)
2018-10-05
13:15
Dataflow Analysis 3
2018-10-12
13:15
Pointer Analysis 1
2018-10-19
13:15
Datalog
Lecture break, note the day/time change
2018-11-07
15:15
Pointer Analysis 2
2018-11-14
15:15
Dynamic Analysis 1
2018-11-21
15:15
Dynamic Analysis 2
  • Profiling
  • Dynamic Binary Instrumentation [Valgrind paper]
  • Performance Counters
2018-11-28
15:15
Types 1
  • Basic Types [Benjamin Pierce: `Types and Programming Languages', MIT Press, for this lecture]
  • Basic Natural Semantics
  • Structural Operational Semantics
2018-12-05
15:15
Types 2
  • Typing Variables and Subroutines [Benjamin Pierce: `Types and Programming Languages', MIT Press, for this lecture]
  • (Polymorphic) Type Inference
  • Natural Semantics with Heaps
  • Homework #5 starts
2018-12-12
15:15
Types 3
  • Typing Schemes
  • Variance
  • Effect Analysis
2018-12-19
15:15
Review
  • Review

Exam

Exam modalities will be determined later. You will have to have finished all lab assignments to be allowed to take the exam.