FI:IA159 FM for Software Analysis - Course Information
IA159 Formal Methods for Software Analysis
Faculty of InformaticsAutumn 2024
- Extent and Intensity
- 2/0/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
In-person direct teaching - Teacher(s)
- prof. RNDr. Jan Strejček, Ph.D. (lecturer)
- Guaranteed by
- prof. RNDr. Jan Strejček, Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics - Timetable
- Wed 25. 9. to Wed 18. 12. Wed 10:00–11:50 A217
- Prerequisites
- Some degree of abstract math reasoning.
- 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 29 fields of study the course is directly associated with, display
- Course objectives
- At the end of this course, students should understand and be able to explain principles and applications of basic and selected advanced formal methods for software analysis. Students should be also able to make reasoned decisions about suitability of various methods for given goals and to apply suitable formal methods or tools.
- Learning outcomes
- At the end of this course, students should understand and be able to explain principles and applications of basic and selected advanced formal methods for software analysis. Students should be also able to make reasoned decisions about suitability of various methods for given goals and to apply suitable formal methods or tools.
- Syllabus
- Formal aspects of testing (coverage criteria, software quality metrics).
- Automated test generation: greybox fuzzing.
- Deductive verification.
- Static analysis and abstract interpretation.
- Points-to analysis, control and data dependencies, program slicing.
- Shape analysis.
- Symbolic execution and bounded model checking, concolic execution, whitebox fuzz testing.
- Configurable program analysis.
- Verification via automata, symbolic execution, and Interpolation.
- Verification witnesses.
- Literature
- PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
- CLARKE, E. M., Orna GRUMBERG, Doron PELED, Daniel KROENING and Helmut VEITH. Model checking. Second edition. Cambridge, Massachusetts: MIT Press, 2018, xx, 402. ISBN 9780262038836. info
- Handbook of model checking. Edited by E. M. Clarke - T. A. Henzinger - Helmut Veith - Roderick Bloem. Cham: Springer International Publishing AG, 2018, xxiv, 1210. ISBN 9783319105741. info
- Teaching methods
- lectures
- Assessment methods
- oral exam
- Language of instruction
- English
- Further Comments
- Study Materials
The course is taught annually.
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/autumn2024/IA159