Static Program Analysis

Master course in Summer 2020


  • 2020-04-01: all course-related material will be distributed via the RWTHmoodle classroom.
  • 2020-03-24: until further notice, the course will be fully organised in electronic form, without in-class meetings. Please refer to the organisation section for further details.
  • 2020-01-24: we are online!


LectureMon[12:30 – 14:00]Slidecast [AH 6]20 AprNoll
 Fri[12:30 – 14:00]Slidecast [AH 1]24 AprNoll
ExerciseMon14:30-16:00Video conference [AH 6]04 MayBatz/Szymczak


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


Due to the Corona virus outbreak, no in-class meetings are currently possible. All course-related material will therefore be made accessible in electronic form:

  • At the dates that were foreseen for lectures (or earlier), slidecasts and/or video recordings will be made available.
  • Starting April 27, assignment sheets are made available weekly via web, with a submission deadline of one week.
  • Paper submissions are not accepted; everything has to be (scanned and) submitted via RWTHmoodle.
  • The presentations of sample solutions will be organised as video conferences on the date of the exercise class (one week after the publication of the assignment sheet).
  • Exercises are optional, i.e., not required for admission to exams. However, corrections to students’ solutions are provided as annotations to the submissions.

Lecture Material and Exercises

All material is available from the 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