IA159 Formal Verification Methods
Preliminaries
To fully understand the lessons, students should be familiar with the following topics:
- basic terms of formal language theory: an alphabet, a word, a (formal) language, etc.
- languages over infinite words and Büchi automata - see Section 9.1 of [CGP99] or Chapter 5 of [Pel01]
- Linear Temporal Logic (LTL) - see Chapter 3 of [CGP99] or Chapter 5 of [Pel01]
- automata-based LTL Model Checking - see Chapter 9 of [CGP99] or Chapter 6 of [Pel01]
The course will not cover all areas of formal verification. For example, we will not elaborate on these topics:
- symbolic model checking - briefly explained in the courses IV113 Introduction to Validation and Verification and IA169 System Verification and Assurance, and in a more detailed way in Chapter 6 of [CGP99]
- bisimulation equivalence and equivalence checking - explained in the course IA006 Selected Topics on Automata Theory and in Chapter 8 of [Pel01]
- runtime verification
Where:
- [CGP99] stands for the book E. M. Clarke, O. Grumberg, and D. A. Peled: Model Checking, MIT Press, 1999 (available in FI library), and
- [Pel01] stands for the book D. A. Peled: Software Reliability Methods, Springer, 2001 (available in FI library).
Examination:
- oral exam
- no intrasemestral tests, no written exams, no mandatory homeworks