Link

CS4720 Research in Program Analysis

Burcu Kulahcioglu Ozkan,   Arie van Deursen

Spring 2025/Q4, TU Delft

Course description:

This course provides a comprehensive introduction to the field of software analysis, a critical aspect of software development and maintenance. We will delve into both theoretical foundations and practical applications, learning how to analyze, understand, and improve software systems. This course explores a comprehensive set of techniques for software analysis, including practical formal methods, model checking, static and dynamic analysis, and other key approaches to evaluating and improving software systems. Through hands-on project, you will gain experience understanding and applying these techniques and presenting them using a scientific valid methodology.

Study goals:

At the end of this course, you will be able to:

  1. Explain different software analysis approaches, such as model checking, static, and dynamic analyses.
  2. Apply the software analysis techniques to sample programs.
  3. Analyze the results of software analysis techniques in terms of their precision and computational performance.
  4. Evaluate the performance of different software analysis techniques and compare their pros and cons.

Course organization

Course schedule:

TBA

Paper presentations:

TBA

Course projects:

TBA