Semantics and applications to verification

Course: Jérôme Feret, Josselin Giet, and Xavier Rival
L3, École Normale Supérieure

Grading/Homework/Exam

The course grading will be split into project and exam, possibly replaced with homework (depending on the conditions). Homework, projects, and their deadline will be announced here.

Final grades will be the average of the project grade and of the exam (or homework) grade.

Organization

The course takes place on Friday mornings, from 8h30 till 12h15. This comprises a lecture from 8h30 till 10h00 and a lab session or TD from 10h15 till 12h15. The lecture will be taught in room Emile Noether (occasionally, lessons may be taught online with GoToMeeting).

Lecture contents

In this lecture, we will study techniques for reasoning about programs, so as to verify correctness properties. We will first set up the foundations of the semantics of programming languages and the notion of program proofs, using Hoare triples. Then, we will formalize various kind of relevant properties (safety, liveness, security). Last, we will focus on approaches for automatic program verification (abstract interpretation based static analysis, model checking of finite systems, solving modulo theory): the inferrence of the proofs is then performed by another computer program.

Schedule and lectures material

You will find here the provisional course plan. The course plan will be updated progressively and the slides of the courses will be put on-line after each course, so, please consult this page regularly.

Lab sessions

The material of the lab sessions will be added soon.

Projects

Information on the project will be announded at a later date.

References

The material provided by the class is meant to be self-contained. However, the following references will allow to study more in detail importants part of the course:

Course of the previous years

The webpage of the course of year 2020-2021 can be found here.
The webpage of the course of year 2019-2020 can be found here.
The webpage of the course of year 2018-2019 can be found here.
The webpage of the course of year 2017-2018 can be found here.
The webpage of the course of year 2016-2017 can be found here.
The webpage of the course of year 2015-2016 can be found here.
The webpage of the course of year 2014-2015 can be found here.
The webpage of the course of year 2013-2014 can be found here.

Exams of the previous years

The exam of the course of year 2018-2019 can be found here.
The exam of the course of year 2017-2018 can be found here, and the answers are here.
The exam of the course of year 2016-2017 can be found here, and the answers are here.
The exam of the course of year 2015-2016 can be found here.
The exam of the course of year 2014-2015 can be found here.
The exam of the course of year 2013-2014 can be found here.


rival (at) di.ens.fr