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/06/18 21:56]
vkuncak [Introduction]
fv19:top [2019/06/18 22:02]
vkuncak
Line 7: Line 7:
 ===== Introduction ===== ===== Introduction =====
  
-This course ​introduces **formal verification** as an approach for developing highly reliable ​software. We learn how to use formal verification tools, and we explain the theory and the practice behind building them.+In this course ​we introduce ​formal verification as an approach for developing highly reliable ​systems
  
 Formal verification finds proofs that computer systems work Formal verification finds proofs that computer systems work
Line 20: Line 20:
 verified software is to perform formal verification while software is verified software is to perform formal verification while software is
 developed, as opposed to after the fact. developed, as opposed to after the fact.
 +
 +In this course we will learn how to use formal verification tools and explain the theory and the practice behind building them.
  
  
Line 58: Line 60:
  
 Dependent and Refinement Types Dependent and Refinement Types
 +
 +===== Relevant Textbooks =====
 +
 +* 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.
 +
 +* Tobias Nipkow, Gerwin Klein: 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.
 +
 +* Nielson, Flemming, Nielson, Hanne R., Hankin, Chris: Principles of Program Analysis. ISBN 978-3-662-03811-6. Springer 1999.
 +
 +* Peter B. Andrews: An Introduction to Mathematical Logic and Type Theory (To Truth Through Proof), Springer 2002.
 +
 +* http://​logitext.mit.edu/​tutorial ​
 +
 +Additional Introductions and Background
 +
 +* 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 ​