IA169 Model Checking

Faculty of Informatics
Spring 2024
Extent and Intensity
2/1/0. 3 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jan Strejček, Ph.D. (lecturer)
RNDr. Martin Jonáš, Ph.D. (seminar tutor)
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 19. 2. to Thu 9. 5. Thu 16:00–17:50 A318
  • Timetable of Seminar Groups:
IA169/01: Mon 19. 2. to Thu 9. 5. each even Thursday 18:00–19:50 A318, M. Jonáš
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.
The capacity limit for the course is 130 student(s).
Current registration and enrolment status: enrolled: 12/130, only registered: 0/130, only registered with preference (fields directly associated with the programme): 0/130
fields of study / plans the course is directly associated with
there are 33 fields of study the course is directly associated with, display
Course objectives
The student will understand the fundamental and currently used model checking algorithms and techniques (except those primarily designed for software). Further, the student will be able to read and write specifications in LTL and CTL, and use relevant formalisms like Büchi automata and binary decision diagrams.
Learning outcomes
Students will:
understand traditional model checking algorithms (LTL and CTL model checking) and current approaches (bounded model checking, k-induction, CEGAR, property-driven reachability);
be able to read and write specifications in LTL and CTL;
be aware of potential applications and inherent limitations of model checking algorithms.
Syllabus
  • Overview of the model checking area.
  • Kripke structure, labelled transition system, LTL, CTL, Büchi automata.
  • Automata-based LTL model checking.
  • CTL model checking.
  • Bounded model checking and k-induction.
  • Reachability in pushdown systems.
  • Abstraction and CEGAR.
  • Property directed reachability.
Literature
  • 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, seminars
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 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022.

IA169 System Verification and Assurance

Faculty of Informatics
Autumn 2022
Extent and Intensity
2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
Mgr. Pavol Žáčik (seminar tutor)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (assistant)
Guaranteed by
prof. RNDr. Jiří Barnat, Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 16:00–17:50 A217
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basic programming skills (Python). 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.
The capacity limit for the course is 130 student(s).
Current registration and enrolment status: enrolled: 15/130, only registered: 0/130, only registered with preference (fields directly associated with the programme): 0/130
fields of study / plans the course is directly associated with
there are 33 fields of study the course is directly associated with, display
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. Students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems, and systems with probabilities.
Learning outcomes
Students will:
be aware of fundaments of black-box testing;
understand priciples of deductive verification;
understand the theory and application of model checking;
have hand-on experince with a couple of verification tools.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. The core topics of this course will include testing, symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. Students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems, and systems with probabilities. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided as well.
Literature
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures, homework assignments, readings
Assessment methods
Final (written) exam: 50%. Assignments: 50%.
Marking scheme: A for 85% or higher, then B for 80% or higher, then C for 75% or higher, then D for 70% or higher, then E for 65% or higher, then F(ail) for less than 65%.
Colloquy or credit – at least 65%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Autumn 2021
Extent and Intensity
2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
doc. RNDr. Vojtěch Řehák, Ph.D. (seminar tutor)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (assistant)
Guaranteed by
prof. RNDr. Jiří Barnat, Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 15. 9. to Wed 8. 12. Wed 16:00–17:50 D1
  • Timetable of Seminar Groups:
IA169/Konzultace_k_DU: Mon 13. 9. to Mon 6. 12. Mon 16:00–17:50 A219, J. Barnat, V. Řehák
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basic programming skills (Python). 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.
The capacity limit for the course is 130 student(s).
Current registration and enrolment status: enrolled: 1/130, only registered: 0/130, only registered with preference (fields directly associated with the programme): 0/130
fields of study / plans the course is directly associated with
there are 32 fields of study the course is directly associated with, display
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. Students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems, and systems with probabilities.
Learning outcomes
Students will:
be aware of fundaments of black-box testing;
understand priciples of deductive verification;
understand the theory and application of model checking;
have hand-on experince with a couple of verification tools.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. The core topics of this course will include testing, symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. Students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems, and systems with probabilities. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided as well.
Literature
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures, homework assignments, readings
Assessment methods
Final (written) exam: 50%. Assignments: 50%.
Marking scheme: A for 85% or higher, then B for 80% or higher, then C for 75% or higher, then D for 70% or higher, then E for 65% or higher, then F(ail) for less than 65%.
Colloquy or credit – at least 65%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Autumn 2020
Extent and Intensity
2/0/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Jiří Barnat, Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 16:00–17:50 A217
  • Timetable of Seminar Groups:
IA169/01: Wed 12:00–13:50 A219, M. Chalupa, V. Řehák
IA169/02: Mon 10:00–11:50 A219, M. Chalupa, V. Řehák
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract 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.
The capacity limit for the course is 130 student(s).
Current registration and enrolment status: enrolled: 0/130, only registered: 0/130, only registered with preference (fields directly associated with the programme): 0/130
fields of study / plans the course is directly associated with
there are 32 fields of study the course is directly associated with, display
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Learning outcomes
Students will:
be aware of fundaments of black-box testing;
understand priciples of deductive verification;
understand the theory and application of model checking;
have hand-on experince with a couple of verification tools.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Literature
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 50%. Assignments: 50%.
Marking scheme: A for 85% or higher, then B for 80% or higher, then C for 75% or higher, then D for 70% or higher, then E for 65% or higher, then F(ail) for less than 65%.
Colloquy or credit – at least 65%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2021, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Autumn 2019
Extent and Intensity
2/0/2. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Jiří Barnat, Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 16:00–17:50 A217
  • Timetable of Seminar Groups:
IA169/01: Wed 12:00–13:50 A219, M. Chalupa, V. Řehák
IA169/02: Mon 12:00–13:50 A219, M. Chalupa, V. Řehák
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract 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.
The capacity limit for the course is 70 student(s).
Current registration and enrolment status: enrolled: 1/70, only registered: 0/70, only registered with preference (fields directly associated with the programme): 0/70
fields of study / plans the course is directly associated with
there are 32 fields of study the course is directly associated with, display
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Learning outcomes
Students will:
be aware of fundaments of black-box testing;
understand priciples of deductive verification;
understand the theory and application of model checking;
have hand-on experince with a couple of verification tools.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Literature
  • GRUMBERG, Orna, Doron A. PELED and E. M. CLARKE. Model checking. Cambridge: MIT Press, 1999, xiv, 314. ISBN 0262032708. info
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 50%. Assignments: 50%.
Marking scheme: A for 85% or higher, then B for 80% or higher, then C for 75% or higher, then D for 70% or higher, then E for 65% or higher, then F(ail) for less than 65%.
Colloquy or credit – at least 65%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Spring 2019
Extent and Intensity
2/2/2. 6 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 19. 2. to Tue 14. 5. Tue 12:00–13:50 A319
  • Timetable of Seminar Groups:
IA169/01: Thu 21. 2. to Thu 16. 5. Thu 12:00–13:50 A219, M. Chalupa, V. Řehák
IA169/02: Mon 10:00–11:50 A219, M. Chalupa, V. Řehák
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract 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.
The capacity limit for the course is 32 student(s).
Current registration and enrolment status: enrolled: 0/32, only registered: 0/32, only registered with preference (fields directly associated with the programme): 0/32
fields of study / plans the course is directly associated with
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 70%. Assignments: 30%.
Marking scheme: A for 90% or higher, then B for 80% or higher, then C for 70% or higher, then D for 60% or higher, then E for 50% or higher, then F(ail) for less than 50%.
Colloquy or credit – at least 44%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Spring 2018
Extent and Intensity
2/2/2. 6 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 12:00–13:50 A218
  • Timetable of Seminar Groups:
IA169/01: Thu 8:00–9:50 A219, M. Chalupa, V. Řehák
IA169/02: Wed 14:00–15:50 A219, M. Chalupa, V. Řehák
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract 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.
The capacity limit for the course is 32 student(s).
Current registration and enrolment status: enrolled: 0/32, only registered: 0/32, only registered with preference (fields directly associated with the programme): 0/32
fields of study / plans the course is directly associated with
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 70%. Assignments: 30%.
Marking scheme: A for 90% or higher, then B for 80% or higher, then C for 70% or higher, then D for 60% or higher, then E for 50% or higher, then F(ail) for less than 50%.
Colloquy or credit – at least 44%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Spring 2017
Extent and Intensity
2/2/2. 6 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
RNDr. Marek Chalupa, Ph.D. (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 12:00–13:50 B410
  • Timetable of Seminar Groups:
IA169/01: Mon 16:00–17:50 A219, V. Řehák
IA169/02: Wed 18:00–19:50 A219, M. Chalupa
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract 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.
The capacity limit for the course is 32 student(s).
Current registration and enrolment status: enrolled: 0/32, only registered: 0/32, only registered with preference (fields directly associated with the programme): 0/32
fields of study / plans the course is directly associated with
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 70%. Assignments: 30%.
Marking scheme: A for 90% or higher, then B for 80% or higher, then C for 70% or higher, then D for 60% or higher, then E for 50% or higher, then F(ail) for less than 50%.
Colloquy or credit – at least 44%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2016, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Spring 2016
Extent and Intensity
2/2/2. 6 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
doc. RNDr. Vojtěch Řehák, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
Dr. rer. nat. Achim Blumensath (seminar tutor)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Tue 12:00–13:50 A218
  • Timetable of Seminar Groups:
IA169/01: Tue 10:00–11:50 A219, V. Řehák
IA169/02: Fri 10:00–11:50 A219, A. Blumensath
Prerequisites
(! IV113 Validation and Verification ) && (!NOW( IV113 Validation and Verification ))
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract 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.
The capacity limit for the course is 32 student(s).
Current registration and enrolment status: enrolled: 0/32, only registered: 0/32, only registered with preference (fields directly associated with the programme): 0/32
fields of study / plans the course is directly associated with
Course objectives
The student will understand the necessary theoretic background as well as acquire hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 70%. Assignments: 30%.
Marking scheme: A for 90% or higher, then B for 80% or higher, then C for 70% or higher, then D for 60% or higher, then E for 50% or higher, then F(ail) for less than 50%.
Colloquy or credit – at least 44%.
Language of instruction
English
Follow-Up Courses
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.

IA169 Model Checking

Faculty of Informatics
Spring 2025

The course is not taught in Spring 2025

Extent and Intensity
2/1/0. 3 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)
RNDr. Martin Jonáš, Ph.D. (seminar tutor)
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.
The capacity limit for the course is 130 student(s).
Current registration and enrolment status: enrolled: 0/130, only registered: 2/130, only registered with preference (fields directly associated with the programme): 0/130
fields of study / plans the course is directly associated with
there are 30 fields of study the course is directly associated with, display
Course objectives
The student will understand the fundamental and currently used model checking algorithms and techniques (except those primarily designed for software). Further, the student will be able to read and write specifications in LTL and CTL, and use relevant formalisms like Büchi automata and binary decision diagrams.
Learning outcomes
Students will:
understand traditional model checking algorithms (LTL and CTL model checking) and current approaches (bounded model checking, k-induction, CEGAR, property-driven reachability);
be able to read and write specifications in LTL and CTL;
be aware of potential applications and inherent limitations of model checking algorithms.
Syllabus
  • Overview of the model checking area.
  • Kripke structure, labelled transition system, LTL, CTL, Büchi automata.
  • Automata-based LTL model checking.
  • CTL model checking.
  • Bounded model checking and k-induction.
  • Reachability in pushdown systems.
  • Abstraction and CEGAR.
  • Property directed reachability.
Literature
  • 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, seminars
Assessment methods
oral exam
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is taught: every week.
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.

IA169 System Verification and Assurance

Faculty of Informatics
Spring 2015

The course is not taught in Spring 2015

Extent and Intensity
2/2/2. 6 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Jiří Barnat, Ph.D. (lecturer)
prof. RNDr. Václav Matyáš, M.Sc., Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Václav Matyáš, M.Sc., Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Prerequisites
User-level familiarity with Unix/Linux operating system. Basics of C programming. Basic astract math reasoning.
Course Enrolment Limitations
The course is offered to students of any study field.
The capacity limit for the course is 30 student(s).
Current registration and enrolment status: enrolled: 0/30, only registered: 0/30, only registered with preference (fields directly associated with the programme): 0/30
Course objectives
This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Syllabus
  • This course will provide the necessary theoretic background as well as hands-on experience with relevant tools for bug finding and formal verification techniques. An introductory insight into security standards like Common Criteria for Information Technology Security Evaluation and FIPS 140 shall be provided first, together with a discussion of security threat models. Following this, the core topics of this course will include testing, simulations, advance testing and symbolic execution, abstract interpretation, static analysis, theorem proving, automated formal verification as well as an introduction to model-based verification. With the help of a tutor students will get acquainted with a number of concrete software verification tools for analysis of concurrent systems, real-time systems, hybrid systems, cryptographic systems and systems with probabilities.
Teaching methods
lectures, seminars/labs, homework assignments, readings
Assessment methods
Final (written) exam: 70%. Assignments: 30%.
Marking scheme: A for 90% or higher, then B for 80% or higher, then C for 70% or higher, then D for 60% or higher, then E for 50% or higher, then F(ail) for less than 50%.
Colloquy or credit – at least 44%.
Language of instruction
English
Follow-Up Courses
The course is also listed under the following terms Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Spring 2024.
  • Enrolment Statistics (recent)