Formal Methods and Specifications
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
NIE-FME | Z,ZK | 5 | 2P+1C | anglicky |
- Garant předmětu:
- Stefan Ratschan
- Přednášející:
- Stefan Ratschan
- Cvičící:
- Stefan Ratschan
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Students are able to describe semantics of software formally and to use sound reasoning for construction of correct software. They learn to use some software tools that allow to prove basic properties of software.
- Požadavky:
-
Knowledge of basic notions of mathematical logic and set theory and ability to use them.
- Osnova přednášek:
-
1. Introduction to formal program specification
2. Proof methods
3. Logical theories and modeling of data structures
4. Operational program semantics
5. Unbounded software model checking
6. (2) Unbounded software model checking
7. Functions, procedures
8. Termination proofs
9. Symbolic execution
10. Decision procedures
11. Object oriented programming
12. Program synthesis
- Osnova cvičení:
-
Practical training of the lecture material.
- Cíle studia:
-
The goal of the module is to provide students with the ability to apply formal reasoning in software development. On one hand, this includes the ability to base their own software development activities on sound reasoning, even within an environment that does not systematically employ formal methods. On the other hand, this includes the ability to understand and use automated techniques and tools for supporting formal methods within the software development process.
- Studijní materiály:
-
1. Clarke, E.M. - Henzinger, Th.A. - Veith, H. - Bloem, R. (Eds.) : Handbook of Model Checking. Springer,
2018. ISBN 978-3-319-10574-1.
2. Kroening, D. - Strichman, O. : Decision Procedures - An Algorithmic Point of View, 2nd edition. Springer,
2016. ISBN 978-3-662-50496-3.
3. Bradley, A. R. - Manna, Z. : The Calculus of Computation. Springer, 2007. ISBN 978-3-540-74113-8.
- Poznámka:
-
Information about the subject and teaching materials can be found at https://courses.fit.cvut.cz/NI-FME/
- Další informace:
- https://courses.fit.cvut.cz/NI-FME/
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Master specialization Software Engineering, in English, 2021 (PS)
- Master specialization Computer Security, in English, 2021 (volitelný předmět)
- Master specialization Computer Systems and Networks, in English, 2021 (volitelný předmět)
- Master specialization Design and Programming of Embedded Systems, in English, 2021 (volitelný předmět)
- Master specialization Computer Science, in English, 2021 (VO)
- Master specialization Computer Science, in English, 2024 (VO)