Code: NIE-FME Formal Methods and Specifications
Lecturer: doc. Dipl.-Ing. Dr. techn. Stefan Ratschan Weekly load: 2P+1C Completion: A, EX
Department: 18102 Credits: 5 Semester: S
Description:
Students are able to describe semantics of software formally and to use sound reasoning for construction of correct software. They learn to use some software tools that allow to prove basic properties of software.
Contents:
1. Introduction to formal program specification
2. Proof methods
3. Logical theories and modeling of data structures
4. Operational program semantics
5. Unbounded software model checking
6. (2) Unbounded software model checking
7. Functions, procedures
8. Termination proofs
9. Symbolic execution
10. Decision procedures
11. Object oriented programming
12. Program synthesis
Seminar contents:
Practical training of the lecture material.
Recommended literature:
1. Clarke, E.M. - Henzinger, Th.A. - Veith, H. - Bloem, R. (Eds.) : Handbook of Model Checking. Springer,
2018. ISBN 978-3-319-10574-1.
2. Kroening, D. - Strichman, O. : Decision Procedures - An Algorithmic Point of View, 2nd edition. Springer,
2016. ISBN 978-3-662-50496-3.
3. Bradley, A. R. - Manna, Z. : The Calculus of Computation. Springer, 2007. ISBN 978-3-540-74113-8.

Abbreviations used:

Semester:

Mode of completion of the course:

Weekly load (hours per week):