FI:IA159 Formal Verification Methods - Course Information
IA159 Formal Verification MethodsFaculty of Informatics
- Extent and Intensity
- 2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- doc. RNDr. Jan Strejček, Ph.D. (lecturer)
- Guaranteed by
- prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science - Faculty of Informatics
Contact Person: doc. RNDr. Jan Strejček, Ph.D.
- Thu 12:00–13:50 B411
- IA006 Automata theory
It is recommended to attend courses IA040 and IV113 before registering this course.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 18 fields of study the course is directly associated with, display
- Course objectives
- Formal verification aims to verify correctness or improve reliability of software and hardware systems. At the end of this course, students should understand and be able to explain principles of basic formal verification methods (model checking methods, reachability analysis, abstract interpretations, and theorem proving). Students should also understand advantages and disadvantages of the metioned methods and techniques. Some crucial techniques (abstraction, partial order reduction, CEGAR, etc.) will be discussed in detail.
- Models of systems
- Formal specification of program properties (modal and temporal logics)
- Automatic verification - reachability analysis, symbolic and explicit model checking, equivalence checking
- Deductive verification methods (theorem proving)
- Software testing
- Program analysis, abstraction, abstract interpretation
- Counter-example guided abstraction refinement
- Combining formal methods, SW tools BLAST, SPEC etc.
- Assessment methods
- lectures, oral exam
- Language of instruction
- Further Comments
- Study Materials
The course is taught annually.