inf481 - Software Analysis

inf481 - Software Analysis

Department of Computing Science 6 KP
Module components Semester courses Sommersemester 2023 Examination
Lecture
  • No access 2.01.481 - Software Analysis Show lecturers
    • Prof. Dr. Heike Wehrheim
    • Jan Frederik Haltermann, M. Sc.
    • Nicola Anna Thoben

    Tuesday: 10:15 - 11:45, weekly (from 11/04/23)
    Thursday: 10:15 - 11:45, weekly (from 13/04/23)

    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. In this course, we will study different software analysis techniques, in particular various data-flow analyses and abstract interpretation.

Exercises
  • No access 2.01.481 - Software Analysis Show lecturers
    • Prof. Dr. Heike Wehrheim
    • Jan Frederik Haltermann, M. Sc.
    • Nicola Anna Thoben

    Tuesday: 10:15 - 11:45, weekly (from 11/04/23)
    Thursday: 10:15 - 11:45, weekly (from 13/04/23)

    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. In this course, we will study different software analysis techniques, in particular various data-flow analyses and abstract interpretation.

Hinweise zum Modul
Prerequisites

Useful previous knowledge: Programming, Logic

Prüfungszeiten

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

Module examination

Written or oral Exam

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.


Self-competences
The students:

  • organize their own work for the course

Top