Search for contacts, projects,
courses and publications

Dynamic Program Analysis

People

Binder W.

Course director

Rosà A.

Course director

Description

Dynamic program analysis (DPA) studies the properties of software systems while they are executing. It is a fundamental technique for understanding runtime behavior, diagnosing performance bottlenecks, detecting correctness issues, and supporting the development of more reliable and efficient software.

This course introduces the main concepts, techniques, and challenges of dynamic program analysis, with a focus on instrumentation-based profiling. Students learn how runtime information can be collected, how instrumentation affects program execution, and how to design analyses that provide useful information while limiting measurement overhead and observer effects.

The course presents these concepts in the context of the Java programming language and the Java Virtual Machine. Particular attention is given to bytecode instrumentation and to the implementation of dynamic analyses with DiSL, a domain-specific language for Java bytecode instrumentation. Through lectures and tutorials, students gain both conceptual understanding and practical experience with the design and implementation of dynamic analyses for JVM-based software systems.

Objectives

  • Understand the principles of dynamic program analysis and instrumentation in the context of Java and the Java Virtual Machine.
  • Explain how dynamic analyses can be used to observe runtime properties such as performance, memory usage, code coverage, and concurrent behavior.
  • Design and implement dynamic analyses with DiSL, a domain-specific language for Java bytecode instrumentation.

Sustainable development goals

  • Industry, innovation and infrastructure

Teaching mode

In presence

Learning methods

Lectures, tutorials, and practical exercises on the course topics.

Examination information

Assessment is based on a small project on dynamic program analysis. To obtain the ECTS credits for the course, students must submit the project no later than one month after the end of the course.

Bibliography

Education