IA159 Formal Methods for Software Analysis

Content of the Course, Examination, Literature

There is no lecture lecture on September 18. The course will start on September 25.

Content of the course

  • formal aspects of testing (coverage criteria, software quality metrics)
  • automated test generation: greybox fuzzing
  • deductive verification (Dafny?)
  • abstract interpretation
  • points-to analysis, SSA, control and data dependencies, program slicing
  • shape analysis via 3-valued logic (TVLA)
  • symbolic execution, concolic execution, whitebox fuzz testing (SAGE)
  • configurable program analysis (CPAchecker)
  • verification via automata, symbolic execution, and Interpolation (UAutomizer)
  • verification witnesses, SV-COMP, and Test-Comp
  • bounded model checking, k-induction and k-inductive invariants,
  • ?separation logic?

Examination

  • oral exam
  • no intrasemestral tests, no written exams, no mandatory homeworks

Literature

There is no single book covering all topics of this course. However, the following books are worth to look in. Slides for each topic provide references to relevant sources. All these sources are available online or in study materials or in the faculty library.