Course syllabus

Program Analysis

EDAP15, 7,5 credits, A (Second Cycle)

Valid for: 2020/21
Decided by: PLED C/D
Date of Decision: 2020-03-30

General Information

Elective for: C4-sec, C4-pv, D4-pv, E4-pv, F4, F4-pv, Pi4-pv
Language of instruction: The course will be given in English


Program analysis allows us to better understand what software does and does not do.
The techniques of program analysis can thereby contribute to software security, software quality control, program understanding, software maintenance and evolution, and software performance improvement.
The aim of this course is to provide a detailed understanding of modern program analysis techniques, as well as their strengths and weaknesses, when applied to realistic software.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must


The course topics include: type and effect systems, operational semantics, data flow analysis, constraint-based analysis, heap abstraction, call graph analysis, domain-specific languages for program analysis, profiling, and sampling.

Examination details

Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
Assessment: Written examination. To qualify for the written examination, students must have completed their programming assignments. The final grade for the entire course is based on the result of the written examination.

The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.

Code: 0119. Name: Laboratory Work.
Credits: 3. Grading scale: UG. Assessment: Completed laboratory exercises. Contents: Laboratory work
Code: 0219. Name: Written Examination.
Credits: 4,5. Grading scale: TH. Assessment: Written examination. The final grade of the entire course is based on the result of this exam. To qualify for the written exam, students must have completed their laboratory work. Contents: Written examination


Admission requirements:

The number of participants is limited to: No

Reading list

Contact and other information

Course coordinator: Christoph Reichenbach,
Course homepage: