Semantics and applications to verification

Sylvain Conchon, Jérôme Feret and Xavier Rival
L3, École Normale Supérieure

Exam

The exam will take place in Salle UV, at École Normale Supérieure, on Friday 2nd of June, from 10h00 till 12h00.

Organization

The course takes place in Salle UV, at École Normale Supérieure, on Friday mornings, from 8h30 till 12h15.

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.

Projects

Two project topics are proposed:

The projects should be finished and submitted by the 10th of June 2017 (same date as for the written exam) (anywhere on earth). Students may complete the project individually, or by group of two. The submitted version should include source code (with comments), test cases and a report.

Course of the previous years

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 year

The exam of the course of year 2016-2017 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