Static Program Analysis

Master course in Summer 2022


  • 2021-12-16: We are online!


LectureMon12:30-14:00AH 125 AprNoll
 Tue14:30-16:00AH 219 AprNoll
ExerciseFri10:30-12:00AH 329 AprBatz/Winkler


The goal of this course is to introduce foundational methods and techniques for analysing software on source-code level. The following topics will be discussed:

  • Dataflow analysis
  • Abstract interpretation
  • Interprocedural analysis
  • Analysis of heap data structures
  • Applications in optimising compilers and software verification


Basic knowledge of the following relevant undergraduate courses is expected:

  • Programming (essential concepts of imperative and object-oriented programming languages and elementary programming techniques)
  • Formal Languages and Automata Theory (regular and context-free languages, finite and pushdown automata)
  • Knowledge in the area of Theory of Programming (such as Semantics of Programming Languages or Software Verification) is helpful but not mandatory



Lecture Material and Exercises

All material is available from the associated RWTHmoodle classroom after registration via RWTHonline.


  • The exam will be offered in written or oral form, depending on the number of prospective participants. Details will be announced later.
  • There are no specific admission requirements.

Background Literature and Interesting Links