Link

CS4720 Research in Program Analysis

Burcu Kulahcioglu Ozkan,   Arie van Deursen

TU Delft, Spring 2026/Q4

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

Teaching assistants

Course schedule:

Week-1
Introduction to the course
April 23
  • Lecture: Introduction to the course
  • Lecture: Introduction to the software analysis

Further reading:

Actions and assignments (due May 1):

  • Form your team
  • Select your paper to present (first-come-first-served)
Note: If the teams/papers are not selected by the deadline, they will be assigned randomly.
Week-2
Introduction to Model Checking
April 28
  • Lecture: Introduction to model checking
  • Lecture: Introduction to model checking with TLA+ (hands on, bring your computers) (Lecturer: Ege Berkay Gulcan)

Further reading:

Actions and assignments (due May 12):

  • Select your project (first-come-first-served)
Note: If the projects are not selected by the deadline, they will be assigned randomly.
Week-3
Public holiday

Actions and assignments (due May 12):

  • Read the papers of week-4 and prepare for the discussion (due May 12)
Week-4
Presentations - I
May 12

Papers TBA

Actions and assignments:

  • Kick-the-tires for your project (due May 19)
Week-5
Model Based Testing with Axini - I
May 19
Guest lecture by Susan van den Broek and Machiel van der Bijl
  • Hands-on Lecture: Model Checking with Axini - I
Model Based Testing with Axini - II
May 21
Guest lecture by Susan van den Broek and Machiel van der Bijl
  • Hands-on Practice: Model Checking with Axini - II (Practice)

Actions and assignments

  • Hands-on Axini assignment (on May 21st)
  • Read the papers of week-6 and prepare for the discussion (due May 26)
Week-6
Presentations - II
May 26

Papers TBA

Actions and assignments:

  • Read the papers of week-7 and prepare for the discussion (due June 2)
Week-7
Presentations - III
June 2

Papers TBA

Actions and assignments:

  • Prepare in-progress project reports (due June 12)
Week-8
In-progress project evaluation (no lectures)

Actions and assignments:

  • Submit on-progress project reports (due June 12)
  • Read the papers of week-9 and prepare for the discussion (due June 16)
Week-9
Presentations - IV
June 16

Papers TBA

Actions and assignments:

  • Prepare final project reports (due June 19)
  • Prepare final project presentations (due June 23)
Week-10
Final Project Presentations
TBA
Project presentations (5 min presentation + 5 min Q/A)

The schedule of the presentations will be announced in the first week of lectures. The list of papers and the schedule is subject to small changes during the term.

Paper presentations:

Each presentation will consist of a presentation followed by a Q&A session.

Each paper will be presented by a team of two students, where both students are expected to participate in the presentation and the Q/A. The presentations will be graded individually, based on individual performance.

You are expected to read all the presented papers and actively participate in the Q&A discussions.

Tentative list of the papers to be presented and discussed:

Course projects:

TBA

Submit your project assignments via BrightSpace.

Contact and communication:

Assignment announcements and submissions will be made through BrightSpace.