IA159 Formal Methods for Software Analysis

Faculty of Informatics
Autumn 2024
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Taught in person.
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
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
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023.

IA159 Formal Methods for Software Analysis

Faculty of Informatics
Autumn 2023
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Taught in person.
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
Thu 12:00–13:50 A319
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 49 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.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2023
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Taught in person.
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
Mon 13. 2. to Mon 15. 5. Mon 16:00–17:50 A318
Prerequisites (in Czech)
IA169 System Verif. and Assurance
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 49 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, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Learning outcomes
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including partial order reduction.
  • Abstraction.
  • Counterexample-guided abstraction refinement (CEGAR).
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
  • Property-Directed Reachability (PDR/IC3).
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2022
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Taught in person.
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
Thu 17. 2. to Thu 12. 5. Thu 12:00–13:50 A318
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 48 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, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Learning outcomes
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including partial order reduction.
  • Abstraction.
  • Counterexample-guided abstraction refinement (CEGAR).
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
  • Property-Directed Reachability (PDR/IC3).
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2021
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Taught online.
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
Mon 10:00–11:50 Virtuální místnost
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 48 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, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Learning outcomes
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including partial order reduction.
  • Abstraction.
  • Counterexample-guided abstraction refinement (CEGAR).
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
  • Property-Directed Reachability (PDR/IC3).
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2020
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
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
Mon 10:00–11:50 A319
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 48 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, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Learning outcomes
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including partial order reduction.
  • Abstraction.
  • Counterexample-guided abstraction refinement (CEGAR).
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
  • Property-Directed Reachability (PDR/IC3).
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2019
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 10:00–11:50 A319
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 19 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, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Learning outcomes
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including translation of LTL to Büchi automata and partial order reduction.
  • Abstraction.
  • Counterexample-guided abstraction refinement.
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2018
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 12:00–13:50 B410
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 19 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, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Learning outcomes
At the end of this course, students should understand and be able to explain principles, advantages, and disadvantages of selected methods from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including translation of LTL to Büchi automata and partial order reduction.
  • Abstraction.
  • Counterexample-guided abstraction refinement.
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2017
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 10:00–11:50 A319
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 19 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, advantages, and disadvantages of selected from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including translation of LTL to Büchi automata and partial order reduction.
  • Abstraction.
  • Counter-example guided abstraction refinement.
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2016
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 12:00–13:50 A318
Prerequisites (in Czech)
IV113 Validation and Verification || IA169 System Verif. and Assurance
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 19 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, advantages, and disadvantages of selected from the area of formal verification, namely model checking methods, abstraction, static analysis via abstract interpretation, and shape analysis;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • LTL model checking of finite and infinite-state systems including translation of LTL to Büchi automata and partial order reduction.
  • Abstraction.
  • Counter-example guided abstraction refinement.
  • Static analysis, abstract interpretation.
  • Shape analysis.
  • Software verification via automata, symbolic execution, and interpolation.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2015
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 12:00–13:50 B410
Prerequisites
IA006 Automata theory
It is recommended to attend courses IA040 Modal and Temporal Logics for Processes and IV113 Introduction to Validation and Verification 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
At the end of this course, students should be able to: understand and explain principles, advantages, and disadvantages of basic formal verification methods, namely model checking methods, symbolic execution, abstract interpretation, and theorem proving;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • Deductive verification methods (theorem proving).
  • LTL model checking of finite and infinite-state systems.
  • Abstraction.
  • Counter-example guided abstraction refinement.
  • Bounded model checking.
  • Symbolic execution.
  • Static analysis, abstract interpretation.
  • Verification tools.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2014
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 14:00–15:50 B411
Prerequisites
IA006 Automata theory
It is recommended to attend courses IA040 Modal and Temporal Logics for Processes and IV113 Introduction to Validation and Verification 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
At the end of this course, students should be able to: understand and explain principles, advandtages, and disadvantages of basic formal verification methods, namely model checking methods, symbolic execution, abstract interpretation, and theorem proving;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • Deductive verification methods (theorem proving).
  • LTL model checking of finite and infinite-state systems.
  • State explosion problem, partial order reduction, abstraction.
  • Counter-example guided abstraction refinement.
  • Bounded model checking.
  • Symbolic execution.
  • Static analysis, abstract interpretation.
  • Verification tools.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2013
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
doc. Mgr. Jan Obdržálek, PhD. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: doc. Mgr. Jan Obdržálek, PhD.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Mon 12:00–13:50 G123
Prerequisites
IA006 Automata theory
It is recommended to attend courses IA040 Modal and Temporal Logics for Processes and IV113 Introduction to Validation and Verification 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
At the end of this course, students should be able to: understand and explain principles of basic formal verification methods, namely model checking methods, reachability analysis, symbolic execution, abstract interpretations, and theorem proving;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • Software testing.
  • Deductive verification methods (theorem proving).
  • LTL model checking of finite and infinite-state systems.
  • State explosion problem, partial order reduction, abstraction.
  • Counter-example guided abstraction refinement.
  • Symbolic execution.
  • Static analysis, abstract interpretation.
  • Verification tools.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2012
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
doc. Mgr. Jan Obdržálek, PhD. (assistant)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Jan Strejček, Ph.D.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 14:00–15:50 B204
Prerequisites
IA006 Automata theory
It is recommended to attend courses IA040 Modal and Temporal Logics for Processes and IV113 Introduction to Validation and Verification 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 22 fields of study the course is directly associated with, display
Course objectives
At the end of this course, students should be able to: understand and explain principles of basic formal verification methods, namely model checking methods, reachability analysis, symbolic execution, abstract interpretations, and theorem proving;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • Software testing.
  • Deductive verification methods (theorem proving).
  • LTL model checking of finite and infinite-state systems.
  • State explosion problem, partial order reduction, abstraction.
  • Counter-example guided abstraction refinement.
  • Symbolic execution.
  • Static analysis, abstract interpretation.
  • Verification tools.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2011
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. 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: prof. RNDr. Jan Strejček, Ph.D.
Timetable
Tue 8:00–9:50 A107
Prerequisites
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 21 fields of study the course is directly associated with, display
Course objectives
At the end of this course, students should be able to: understand and explain principles of basic formal verification methods, namely model checking methods, reachability analysis, abstract interpretations, and theorem proving;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • Software testing.
  • Deductive verification methods (theorem proving).
  • LTL model checking of finite and infinite-state systems.
  • State explosion problem, partial order reduction, abstraction.
  • Counter-example guided abstraction refinement.
  • Static analysis, abstract interpretation.
  • Verification tools.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2010
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. 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: prof. RNDr. Jan Strejček, Ph.D.
Timetable
Thu 16:00–17:50 B411
Prerequisites
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 21 fields of study the course is directly associated with, display
Course objectives
At the end of this course, students should be able to: understand and explain principles of basic formal verification methods, namely model checking methods, reachability analysis, abstract interpretations, and theorem proving;
make reasoned decisions about suitability of various methods for verification of specific systems;
Syllabus
  • Overview of formal verification methods.
  • Software testing.
  • Deductive verification methods (theorem proving).
  • LTL model checking of finite and infinite-state systems.
  • State explosion problem, partial order reduction, abstraction.
  • Counter-example guided abstraction refinement.
  • Static analysis, abstract interpretation.
  • Verification tools.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
Teaching methods
lectures
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2009
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. 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: prof. RNDr. Jan Strejček, Ph.D.
Timetable
Thu 12:00–13:50 B411
Prerequisites
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.
Syllabus
  • 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.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
Assessment methods
lectures, oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2008, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2008
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. 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: prof. RNDr. Jan Strejček, Ph.D.
Timetable
Thu 10:00–11:50 B411
Prerequisites
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. The course introduces current methods of formal verification (model checking methods, reachability analysis, abstract interpretations, and theorem proving), from theoretical principles to practical tools. The course also mentions basic specification and modeling formalisms, specific aspects of hardware and software verification, position of formal verification in system development process, etc.
Syllabus
  • 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.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
  • David Schmidt: Abstract interpretation and static analysis, http://www.cis.ksu.edu/santos/schmidt/Escuela03/home.html
Language of instruction
English
Further comments (probably available only in Czech)
The course is taught annually.
The course is also listed under the following terms Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.

IA159 Formal Verification Methods

Faculty of Informatics
Spring 2007

The course is not taught in Spring 2007

Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. 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: prof. RNDr. Jan Strejček, Ph.D.
Prerequisites
It is recommended to complete courses IA006, 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 6 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. The course introduces current methods of formal verification (model checking methods, reachability analysis, abstract interpretations, and theorem proving), from theoretical principles to practical tools. The course also mentions basic specification and modeling formalisms, specific aspects of hardware and software verification, position of formal verification in system development process, etc.
Syllabus
  • 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.
Literature
  • PELED, Doron A. Software reliability methods. New York: Springer, 2001, xix, 331. ISBN 0387951067. info
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
  • Model-Based Testing, http://www.goldpractices.com/practices/mbt/
  • David Schmidt: Abstract interpretation and static analysis, http://www.cis.ksu.edu/santos/schmidt/Escuela03/
Language of instruction
English
Further Comments
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Autumn 2023, Autumn 2024.
  • Enrolment Statistics (recent)