LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
fv19:top [2019/08/13 17:43]
vkuncak [Formal Verification EPFL Course (CS-550), Fall 2019]
fv19:top [2019/08/21 14:05]
vkuncak [Outline]
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]] One of the verification tools used: [[http://​stainless.epfl.ch/​|Stainless]]
- 
-[[http://​concrete-semantics.org|Concrete semantics]] 
  
 ===== Introduction ===== ===== Introduction =====
Line 34: 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 40: 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 =====
 +
 +**First class: Thursday 19 September at 15:15 in the classroom INF213.**
 +
 +**Part I: Introduction and Finite State Systems**
 +
 +==== Week 01, September 16 ====
 +
 +| Thursday | 15:15 | Lecture 01: Introduction. State machines ​     |
 +| Thursday | 17:15 | Labs 01: Scala, Stainless, and State Machines |
 +| Friday ​  | 13:15 | Exercises 01: Proofs about state machines ​    |
 +
 +==== Week 02, September 23 ====
 +
 +| Thursday | 15:15 | Lecture 02: Explicit-State Exploration ​      |
 +| Thursday | 17:15 | Labs 02: Explicit-State Reachability Checker |
 +| Friday ​  | 13:15 | Exercises 02                                 |
 +
 +==== Week 03, September 30 ====
 +
 +BDDs
 +
 +==== Week 04 ====
 +
 +Hardware verification tools. Guest Lecture.
 +
 +**Part II: Deductive Program Verification**
 +
 +**Part III: Verified Functional Programming**
  
 ===== Topics ===== ===== Topics =====
Line 63: Line 90:
   * 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.