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
2025-01-21
10:15
Introduction
  • Class overview
  • Fundamental Concepts and Limitations
  • Applications
  • Introduction to Static Program Analysis
Videos
  • See Lecture 2
2025-01-23
10:15
Abstract Grammars and JastAdd
Week 1
2025-01-28
10: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.

2025-01-30
10:15
Polymorphic Type Analysis
Week 2
2025-02-04
10: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
2025-02-06
10:15
Dataflow Analysis 2: Intraprocedural Analysis
  • Lattices and Fixpoints
  • Monotone Frameworks
  • The MFP Algorithm
  • Additional Reading:
    • Møller/Schwartzbach Chapters 4, 5.3, 5.8–5.10
Week 3
2025-02-11
10:15
Dataflow Analysis 3: Implementing & Scaling Data Flow
  • Dataflow in JastAdd
  • Widening
  • Control Sensitivity [video]
  • Interval Domain
  • Additional Reading:
    • Møller/Schwartzbach Chapters 6, 7 until 7.1 (inclusive)
2025-02-13
10: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
2025-02-18
10:15
Pointer Analysis 2
  • Andersen's Points-To Analysis
  • Additional Reading: Møller/Schwartzbach Chapters 11.2, 11.6
Videos
2025-02-20
10:15
Interprocedural Analysis
Week 5
2025-02-25
10:15
Advanced Interprocedural Analysis
  • Interprocedural Analysis
  • Call Graphs and Dynamic Dispatch
  • Analysis Composition
2025-02-27
10:15
Dynamic Analysis 1
Week 6
2025-03-04
10:15
Dynamic Analysis 2
2025-03-06
10:15
Dynamic Analysis 3 and Review<