Available courses

Static program analysis can show the absence of certain kinds of bad program behaviours, e.g. division by zero, null-pointer access, etc., for all possible program inputs without ever having to run the program.

The goal of this course is to

  • introduce the key ideas behind static analysis techniques (abstract interpretation, data flow analysis)
  • develop an intuition of what kind of problems static analysis can or cannot solve
  • explain the tradeoffs in e.g. efficiency and accuracy
  • provide an overview of its application areas
  • highlight differences to and connections with other verification techniques
  • provide background knowledge and terminology to be able to read recent research papers (and even implement or extend their own analyzer)

  • Advanced Course (6 CP)
  • SS 2017
  • Eva Darulova
  • Assistants: Ezgi Cicek, Heiko Becker
  • Schedule: Tuesday 10 - 12, Wednesday 10 - 12
  • Building E1.5, room 029

The first class will take place on Wednesday, 19 April.


While there are no formal pre-requisites for the class, it is intended for advanced Bachelor or Master students. The following classes are helpful, but not necessary: Automated Reasoning, Semantics, Verification, Compiler Construction.