Static and Dynamic Program Analysis

Lecturers: Prof. Heiko Mantel, Dr. Markus Aderhold
Format: Integrated course
Language: English
Place and Time: Monday 11:40–13:20 in S1|01/A01
Tuesday 09:50–11:30 in S2|02/C120
First Lecture: Tuesday, October 18, 2011



The goal of program analysis is to gather information about the behavior of programs. Such information can be obtained statically (i.e., without executing the program) or dynamically (i.e., by executing the program).

The course will cover various techniques for the formal analysis of programs. Topics include:

  • abstract interpretation of imperative programs
  • data flow analysis
  • information flow analysis
  • program slicing
  • run-time monitoring for security
  • security type systems

These analysis techniques are relevant to prove the security of programs, to show correctness properties, or to optimize programs, for example.


Knowledge of Computer Science and Mathematics, equivalent to the first four Semesters in the Computer Science Bachelor program.


  • Nielson, Nielson and Hankin: "Principles of Program Analysis", Springer, 1999
  • F.B. Schneider: "Enforceable Security Policies", ACM Trans. Inf. Syst. Secur. 3(1): pp. 30-50
  • further literature will be announced during the course

Information for Participants

Slides, exercise sheets, and more information is available on the internal web page.

Last modified on 4 April 2012.

A A A | Print | Imprint | Sitemap | Contact
zum Seitenanfang