Static and Dynamic Program Analysis

Lecturer: Prof. Dr.-Ing. Heiko Mantel
Assistant: Lars Luthmann
Format: Integrated course (IV4)
Language: English
Place and time: Tuesdays 9:50 - 11:30
  Thursdays 8:00 - 9:40
Midterm exam: TBD
Final exam: TBD
Max. participants: 50
Registration: TUCaN page (course ID: 20-00-0580-iv)


Attendance at the first lecture is mandatory. Please register via TUCaN (course id: 20-00-0580-iv) to participate in the first lecture. Information regarding the first lecture (e.g., Zoom credentials) will be distributed via TUCaN messages. The course will have a limitation for the number of participants. The exam for this course will be accompanying the lecture.

Online Materials

The online material can be accessed via Moodle.


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:

  • Data flow analysis
  • Abstract interpretation of imperative programs
  • Program slicing
  • Information flow analysis
  • 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
A A A | Print | Imprint | Sitemap | Contact
zum Seitenanfang