Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
fv19:top [2019/06/25 11:28] vkuncak |
fv19:top [2019/08/21 13:46] vkuncak |
||
---|---|---|---|
Line 5: | Line 5: | ||
Autumn 2019 Semester. 2h Lectures, 2h Exercises, 2h Labs. Continuous Control | Autumn 2019 Semester. 2h Lectures, 2h Exercises, 2h Labs. Continuous Control | ||
- | Instructors: [[http://lara.epfl.ch/~kuncak/|Viktor Kuncak]] and [[https://people.epfl.ch/jad.hamza?lang=en|Jad Hamza]] | + | Instructors: [[http://lara.epfl.ch/~kuncak/|Viktor Kuncak]], [[https://people.epfl.ch/jad.hamza?lang=en|Jad Hamza]], with the help of Romain Edelmann, Georg Schmid, Romain Ruetschi |
+ | |||
+ | One of the verification tools used: [[http://stainless.epfl.ch/|Stainless]] | ||
===== Introduction ===== | ===== Introduction ===== | ||
Line 30: | Line 32: | ||
In this course we will learn how to use formal verification tools and explain the theory and the practice behind them. | In this course we will learn how to use formal verification tools and explain the theory and the practice behind them. | ||
- | |||
Warmup videos by others: | Warmup videos by others: | ||
Line 36: | Line 37: | ||
* [[http://slideshot.epfl.ch/play/suri_moore|Machines Reasoning about Machines - EPFL talk by J Moore]] | * [[http://slideshot.epfl.ch/play/suri_moore|Machines Reasoning about Machines - EPFL talk by J Moore]] | ||
* [[https://www.youtube.com/channel/UCP2eLEql4tROYmIYm5mA27A|Verification Corner videos - by Rustan Leino and others]] | * [[https://www.youtube.com/channel/UCP2eLEql4tROYmIYm5mA27A|Verification Corner videos - by Rustan Leino and others]] | ||
+ | |||
+ | ===== Outline ===== | ||
+ | |||
+ | |||
===== Topics ===== | ===== Topics ===== | ||
* Importance of Reliable Systems. Methodology of Formal Verification. Soundness and Completeness in Modeling and Tools. Successful Tools and Flagship Case Studies | * Importance of Reliable Systems. Methodology of Formal Verification. Soundness and Completeness in Modeling and Tools. Successful Tools and Flagship Case Studies | ||
- | * Review of [[sav17:ta1.pdf|Sets, Relations, Computability, Propositional and First-Order Logic Syntax, Semantics]], Sequent Calculus. | + | * Review of Sets, Relations, Computability, Propositional and First-Order Logic Syntax, Semantics, Sequent Calculus. |
* Completeness and Semi-Decidability for First-Order Logic. Inductive Definitions and Proof Trees. Higher-Order Logic and LCF Approach. | * Completeness and Semi-Decidability for First-Order Logic. Inductive Definitions and Proof Trees. Higher-Order Logic and LCF Approach. | ||
* State Machines. Transition Formulas. Traces. Strongest Postconditions and Weakest Preconditions. | * State Machines. Transition Formulas. Traces. Strongest Postconditions and Weakest Preconditions. | ||
Line 59: | Line 64: | ||
* Michael Huth and Mark Rayan: Logic in Computer Science - Modelling and Reasoning about Systems. Cambridge University Press 2004. | * Michael Huth and Mark Rayan: Logic in Computer Science - Modelling and Reasoning about Systems. Cambridge University Press 2004. | ||
* Handbook of Model Checking, https://www.springer.com/de/book/9783319105741 Springer 2018. Including Chapter Model Checking Security Protocols by David Basin. | * Handbook of Model Checking, https://www.springer.com/de/book/9783319105741 Springer 2018. Including Chapter Model Checking Security Protocols by David Basin. | ||
- | * Tobias Nipkow, Gerwin Klein: Concrete Semantics with Isabelle/HOL. http://concrete-semantics.org/concrete-semantics.pdf | + | * Tobias Nipkow, Gerwin Klein: [[http://concrete-semantics.org|Concrete semantics]] with Isabelle/HOL. http://concrete-semantics.org/concrete-semantics.pdf |
* Aaron Bradley and Zohar Manna: The Calculus of Computation - Decision Procedures with Applications to Verification, Springer 2007. | * Aaron Bradley and Zohar Manna: The Calculus of Computation - Decision Procedures with Applications to Verification, Springer 2007. | ||
* Nielson, Flemming, Nielson, Hanne R., Hankin, Chris: Principles of Program Analysis. ISBN 978-3-662-03811-6. Springer 1999. | * Nielson, Flemming, Nielson, Hanne R., Hankin, Chris: Principles of Program Analysis. ISBN 978-3-662-03811-6. Springer 1999. | ||
Line 67: | Line 72: | ||
===== Background ===== | ===== Background ===== | ||
+ | * [[sav17:exercises_01|Exercises on the background]] | ||
* Kenneth H. Rosen. Discrete Mathematics and Its Applications. E.g. 8th Edition. | * Kenneth H. Rosen. Discrete Mathematics and Its Applications. E.g. 8th Edition. | ||
* Formally Verified Software in the Real World. Communications of the ACM, October 2018. https://cacm.acm.org/magazines/2018/10/231372-formally-verified-software-in-the-real-world/fulltext | * Formally Verified Software in the Real World. Communications of the ACM, October 2018. https://cacm.acm.org/magazines/2018/10/231372-formally-verified-software-in-the-real-world/fulltext | ||