Aim and Scope

In the first part of this course you will learn how to extract high-level information from (lower level) programs without running them. You will learn to statically (at compile time) reason about properties of programs. For example, how to use automatic program analysis techniques for showing that a web-site is not exposed to certain security vulnerabilities.

In the second part of the course, you will learn how to synthesize programs from (higher-level) partial programs and specifications.


  • Monday 10:30-12:30, Taub 3

Course Requirements

  • homework assignments
  • lightweight project - you can choose between theoretical and practical
  • home exam