Weekly Schedule

Planned content. Changes may occur. Details will be added during the course. Click on the name of the lecture to download the slides.














2020-11-02
10:15
Introduction
2020-11-04
15:15
Monomorphic Type Analysis [annotated]
  • Types
  • Typing Rules
  • Type Inference
  • Reading:
    • Møller/Schwartzbach Chapter 3.1 - 3.2
2020-11-09
10:15
Polymorphic Type Analysis [annotated]
  • Unification
  • Polymorphic Type Inference
  • Reading:
    • Møller/Schwartzbach Chapter 3.3
2020-11-11
15:15
Dataflow Analysis 1: Introduction [annotated]
  • Control-Flow Graphs
  • Basic Dataflow Analysis
  • Reading:
    • Møller/Schwartzbach Chapters 2.5, 5-5.1
2020-11-16
10:15
Dataflow Analysis 2: Intraprocedural Analysis [annotated]
  • Lattices and Fixpoints
  • Monotone Frameworks
  • The MFP Algorithm
  • Reading:
    • Møller/Schwartzbach Chapters 4, rest of 5 (skim 5.5-5.7)
2020-11-18
15:15
Dataflow Analysis 3: Interprocedural Analysis [annotated]
2020-11-23
10:15
Pointer Analysis 1
  • Heap Allocation
  • Aliasing
  • Pointers
  • Reading: Møller/Schwartzbach Chapter 10 up to and including 10.2
  • Reading (very optional):
2020-11-25
15:15
(cancelled)
2020-11-30
10:15
Pointer Analysis 2
  • Weak and Strong Updates
  • Steensgaard's Algorithm
  • Reading: Møller/Schwartzbach Chapter 10 up to 10.6
2020-12-02
15:15
Advanced Techniques [annotated]
  • Andersen's Algorithm
  • Reading: Møller/Schwartzbach Chapter 10.2
2020-12-07
10:15
Dynamic Analysis 1
2020-12-09
15:15
Dynamic Analysis 2 [annotated]
  • Dynamic Analysis Challenges
  • Test Coverage Analysis
  • Dynamic Taint Analysis
2020-12-14
10:15
Declarative Analysis with Datalog
  • Guest lecture by Alexandru Dura
  • Declarative Logic Programming in Datalog
  • The MetaDL framework
  • Optional Reading: Datalog Tutorial
2020-12-16
15:15
Review
  • Review
  • Outlook