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.

Go to: Week 0, Week 1, Week 2, Week 3, Week 4, Week 5, Week 6

Week 0
2024-01-15
08:15
Introduction
  • Class overview
  • Fundamental Concepts and Limitations
  • Applications
  • Introduction to Static Program Analysis
Videos
  • See Lecture 2
2024-01-17
08:15
Abstract Grammars and JastAdd
Week 1
2024-01-22
08:15
Monomorphic Type Analysis
  • Types
  • Typing Rules
  • Type Inference
  • Additional Reading:
    • Møller/Schwartzbach Chapter 3.1 - 3.2
Videos

  For videos released after lecture 4, check below.

2024-01-24
08:15
Polymorphic Type Analysis
Week 2
2024-01-29
08:15
Dataflow Analysis 1: Introduction
  • Control-Flow Graphs
  • Basic Dataflow Analysis
  • Additional Reading:
    • Møller/Schwartzbach Chapters 2.5, 5, 5.2, 5.4
Videos
2024-01-31
08:15
Dataflow Analysis 2: Intraprocedural Analysis
  • Guest lecturer: Alexandru Dura
  • Lattices and Fixpoints
  • Monotone Frameworks
  • The MFP Algorithm
  • Additional Reading:
    • Møller/Schwartzbach Chapters 4, 5.3, 5.8–5.10
Week 3
2024-02-05
08:15
Dataflow Analysis 3: Implementing & Scaling Data Flow
  • Dataflow in JastAdd
  • Widening
  • Control Sensitivity
  • Interval Domain
  • Additional Reading:
    • Møller/Schwartzbach Chapters 6, 7 until 7.1 (inclusive)
Videos
2024-02-07
08:15
Pointer Analysis 1
  • Heap Allocation
  • Aliasing
  • Pointers
  • Additional Reading: Møller/Schwartzbach Chapter 11 up to and including 11.1, plus 11.3
  • Additional Reading (very optional):
Week 4
2024-02-12
08:15
Pointer Analysis 2
  • Andersen's Points-To Analysis
  • Additional Reading: Møller/Schwartzbach Chapters 11.2, 11.6
Videos
2024-02-14
08:15
Interprocedural Analysis
  • Part 1: Interprocedural Analysis
    • Additional Reading: Møller/Schwartzbach Chapter 9
    • For the IFDS/IDE algorithms (very optional): Chapter 10
  • Part 2: Guest Lecture: Patrik Åberg, Magnus Templing (Ericsson)
Week 5
2024-02-19
08:15
Advanced Interprocedural Analysis
  • Interprocedural Analysis
    • Additional Reading: Møller/Schwartzbach Chapter 9–9.4
    • For the IDE algorithms (very optional): Chapter 9.5ff
  • Call Graphs and Dynamic Dispatch
  • Analysis Composition
Videos
2024-02-21
08:15
Dynamic Analysis 1
Week 6
2024-02-26
08:15
Dynamic Analysis 2
2024-02-28
08:15
Review
  • Review
  • Outlook