Search for contacts, projects,
courses and publications

Dynamic Program Analysis

Description

COURSE OBJECTIVES

  • Understand the principles of dynamic program analysis and instrumentation in the context of Java and the Java Virtual Machine.
  • Design and implement dynamic analyses with DiSL, a domain-specific language for Java bytecode instrumentation.

 

COURSE DESCRIPTION
Dynamic program analysis (DPA) is important for the analysis of computer programs, consisting in analyzing the properties of an application while it is executing. DPA allows researchers and analysts to observe and study numerous attributes of software systems. Efficient and well-designed DPAs are often key to locate and remove critical negative aspects of software, such as performance bottlenecks, bugs, or security threats. This course teaches concepts of DPA and profiling techniques for identifying negative runtime properties of software. These concepts are explained in the context of the Java programming language and the Java Virtual Machine.

 

LEARNING METHODS
Lectures, tutorials, and exercises on the course topics.

 

EXAMINATION INFORMATION
To receive the ECTS for this course, the students must attend at least 50% of the lecture hours and submit a correct solution for a given DPA project. The submission of the project will be possible up to one month after the end of the course.

 

REFERENCES

  • Slides, code, documentation and publications made available by the course instructors.

People

 

Binder W.

Course director

Rosà A.

Course director

Additional information

Semester
Spring
Academic year
2020-2021
ECTS
3
Language
English
Education
PhD programme of the Faculty of Informatics, PhD course, Elective course, 1st year
PhD programme of the Faculty of Informatics, PhD course, Elective course, 2nd year