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

The exam inspection will take place on March 6, 2013, 16:00 - 17:00 in room S2|02 E202.

Room allocation for the final exam  on February 12, 2013:

Last name starts with
A to N
O to Z


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 22 February 2013.

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