inf481 - Software Analysis (Complete module description)

inf481 - Software Analysis (Complete module description)

Original version English PDF Download
Module label Software Analysis
Modulkürzel inf481
Credit points 6.0 KP
Workload 180 h
Institute directory Department of Computing Science
Verwendbarkeit des Moduls
  • Master's Programme Computing Science (Master) > Theoretische Informatik
Zuständige Personen
  • Wehrheim, Heike (module responsibility)
  • Lehrenden, Die im Modul (Prüfungsberechtigt)

Useful previous knowledge: Programming, Logic

Skills to be acquired in this module

Software analyses extract facts about programs from source code. Such facts can be employed by compilers to optimize programs during compilation, but can also be used to verify correctness of programs. The students get to know different analysis methods, specify such techniques themselves and implement them.
Professional competences
The students:

  • get to know data flow analysis and specify them
  • name the components of data flow systems
  • know when to apply widening operators in an analysis
  • are able to develop abstract domains and operators for abstract interpretation
  • know predicate abstraction and the principle of counterexample-guided abstraction refinement
  • know when and how to apply SSA forms
  • are able to judge the precision and scalability of points-to analyses

Methodological competences
The students:

  • are able to formally define analyses
  • are able to prove properties of analyses
  • are able to implement analysis

Social competences
The students:

  • work on tasks in groups and discuss solutions
  • implement analyses in groups.

The students:

  • organize their own work for the course
Module contents
  • Data flow analyses
  • Abstract interpretation
  • Predicate abstraction, CEGAR
  • SSA forms
  • Slicing
  • Points-to analysis
  • Symbolic execution
  • Nielson, Nielson, Hankin: Principles of Program Analysis, Springer, 2004.
Language of instruction English
Duration (semesters) 1 Semester
Module frequency every summer term
Module capacity unlimited
Teaching/Learning method V + Ü
Previous knowledge Nützliche Vorkenntnisse: Programmierung, Logik
Lehrveranstaltungsform Comment SWS Frequency Workload of compulsory attendance
Lecture 2 SoSe 28
Exercises 2 SoSe 28
Präsenzzeit Modul insgesamt 56 h
Examination Prüfungszeiten Type of examination
Final exam of module

Weekly homework assignments, lab assignments in a block, oral examination at the end

Written or oral Exam