Skip to content

epfl-lara/cs550

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EPFL CS550 - Formal Verification

Moodle, Coursebook

This repository is the homepage of the course Formal Verification (autumn 2023) and hosts the material necesary for the labs.

Staff:

Grading

The grade is based on the written mid-term, as well as code, documentation, and explanation of projects during the semester. Specific percentages will be communicated in the first class and posted here.

The types of graded materials will include:

  • 40% Late mid-term written exam: 23 November 15:15-18:00 (see this folder with past exams)
  • 20% total: four-five labs, to be done in groups, each group working independently on same projects
  • 40% final project to be done in groups, you will choose a topic with our agreement
    • 10% Written presentation of a background paper
    • 10% Results accomplished (how hard it was, how far you got)
    • 10% Presentation of results
    • 10% Final report

Content

In this course we introduce formal verification as a principled approach for developing systems that do what they should do.

The course has two aspects:

  • learning the practice of formal verification - how to use tools to construct verified software
  • understanding the principles behind formal verification and the ways in which verification tools work

The course will follow a similar structure to the 2022 edition. Project can be a case study in developing a verified piece of software, an implementation of verification tool functionality, or a theoretical result about verification, constraint solving or theorem proving. Students present their projects with a written report as well as by a live presentation of project results, answering our questions.

Note that slides can be found underneath each lecture video on switch tube linkes below.

Books

In the reading list below, HandAR-Ch.2 means Chapter 2 in the Handbook of Practical Logic and Automated Reasoning Above, whereas HandMC-Ch.9 means Chapter 9 of the Handbook of Model Checking, etc.

COURSE OUTLINE

Week Day Date Time Room Topic Videos & Slides
1 Thu 21.09.2023 15:15 GRA330 Lecture 1 Intro to FV, Intro to Stainless, Auxiliary Assertions, Unfolding, Disasters, Successes, and Inductive Invariants
Follow: Stainless ASPLOS'22 Tutorial
17:15 GRA330 Lecture 2 Dispenser Example, Finite Systems Expressed with Formulas
Reading: HandMC-Ch.10
Fri 22.09.2023 13:15 INR219 Lecture 3 What is a Formal Proof? and Propositional Resolution
Reading: CalComp-Ch.1 ∨ HandAR-Ch.2
2 Thu 28.09.2023 15:15 GRA330 Exercise 1 Propositional logic
17:15 GRA330 Lab 1 Sublists in Stainless
Fri 29.09.2023 13:15 INR219 Lecture 4 Propositional Resolution up to and including equisatisfiability
3 Thu 5.10.2023 15:15 GRA330 Lecture 5 Propositional Resolution: Tseytin's transformation and SAT solving. Automating First-Order Logic using Resolution
17:15 GRA330 Lab 2 A communication protocol in Stainless
Fri 6.10.2023 13:15 INR219 Exercise 2 Traces, SAT, models
4 Thu 12.10.2023 15:15 GRA330 Lecture 6 Continue Automating First-Order Logic using Resolution. Term Models for First-Order Logic
17:15 GRA330 Lab 3 Resolution proof checker (with Stainless)
Fri 13.10.2023 13:15 INR219 Exercise 3 Propositional logic. Transition systems. Models
5 Thu 19.10.2023 15:15 GRA330 Lecture 7 Converting Imperative Programs to Formulas, Hoare Logic, Strongest Postcondition, Weakest Precondition
17:15 GRA330 Lab 3 Continue resolution proof checker
Fri 20.10.2023 13:15 INR219 Lecture 8 Presburger Arithmetic 1, Presburger Airhtmetic 2
6 Thu 26.10.2023 15:15 GRA330 Exercises 4
17:15 GRA330 Lab 4 First Lisa Lab
Fri 27.10.2023 13:15 INR219 Lecture 9 Abstract Interpretation Idea, Lattices
7 Thu 2.11.2023 15:15 GRA330 Exercises 5
17:15 GRA330 Lab 5
Fri 3.11.2023 13:15 INR219 Lecture 10 Fixed Point Theorem, Omega Continuity (only until AI recipe)
Sun 5.11.2023 Deadline to submit the topic of your project and the background paper you will review
8 Thu 9.11.2023 15:15 GRA330 Exercises 6
17:15 GRA330 Finish Lab 5, Background paper review, Work on project
Fri 10.11.2023 13:15 INR219 Lecture 11 Omega Continuity (from AI recipe onwards), Predicate Abstraction. Complete slides, Annotated
9 Thu 16.11.2023 15:15 GRA330 Lecture 12 Monotonicity and Semantics of Local Variables, Relational Semantics of Loops, Loop Semantics Example
17:15 GRA330 Work on project Deadline to finish and upload the background paper review.
Fri 17.11.2023 13:15 INR219 Exercises 7
10 Thu 23.11.2023 15:15 GRA330 WRITTEN EXAM Exam 2023 Sheet
17:15 GRA330 WRITTEN EXAM
11 Thu 30.11.2023 15:15 GRA330 Labs Project discussions with course staff
17:15 GRA330 Exercises Exam Solutions
Fri 01.12.2023 13:15 INR219 Lecture Approximating Loops. Recursion 1, Recursion 2, Termination
12 Thu 07.12.2023 15:15 GRA330 Labs Project discussions with course staff
17:15 GRA330 Labs Project discussions with course staff
Fri 08.12.2023 13:15 INR219 Lecture SMT Solvers, Tableau-Based Theorem Proving (by Simon)
13 Thu 14.12.2023 15:15 GRA330 Lecture Guest lecture by Prof. Thomas Bourgeat
17:15 GRA330 Labs
Fri 15.12.2023 13:15 INR219 Project Presentations ILIESCU Valentina-Florentina, WINDLER Leon, LAZAR David Leonardo
14 Thu 21.12.2023 15:15 GRA330 Project Presentations GILLIARD Patrick, SCHNEUWLY Victor, PIVETEAU Alexandre
15:45 GRA330 Project Presentations HALILOVIC Dario, HERNANDEZ CANO Alejandro
16:15 GRA330 Project Presentations RAZGALLAH Hédi, ROVELLI Gianmaria, KLEYMANN David
16:45 GRA330 Project Presentations KAPPELER Kelvin, JOLIDON Bastien, KALLAND Magnus
17:15 GRA330 Project Presentations VIDIGUIERA Manuel, CONTOVOUNESIOS Basil, POIROUX Auguste
Fri 22.12.2023 13:15 INR219 Project Presentations REMMAL Hamza, FLESSELLE Eugene
13:45 INR219 Project Presentations ZHAO Yaoyu, FALTINGS Victor, BARMETTLER Lars
14:15 INR219 Project Presentations WOJNAROWSKI Marcin, BARTRINA Guillem, SAINAS Franco
14:45 INR219 Project Presentations DE CASTELNAU Julien, BELENTEPE Cemalettin Cem

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •