Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture introduces formal verification as a method to rigorously prove that computer systems satisfy a specification by defining mathematically rigorous notions and using automated tools. A comparison to testing is made, highlighting the advantages of formal verification over traditional testing methods. The feasibility of automated theorem proving is discussed, showcasing how modern software verifiers can efficiently handle complex mathematical theorems. The process of compiling program correctness statements into verification conditions is explained, emphasizing the importance of transforming properties into valid formulas.