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.