M2-6: Abstract interpretation: application to verification and static analysis

This page describes the organization of the course and gives access to the course slides and material.

The course is presented (in French) on the M2-6 page on the MPRI site.


The course takes place on Monday, from 8:45 to 11:45, at University Paris 7, Sophie Germain Building, room 1002.

The course is organized in two periods of 8 courses each.

The first period will begin on 19 September 2022. The first period will end with a 2h written exam on November 28, from 9:00 to 11:00 AM.

The second period will end with an oral exam. The oral exam consists in the presentation of a research article; the list of articles will be provided a few weeks before the exam.

Syllabus and course material

You will find here the provisional course plan. The dates may change, so, please consult this page regularly for updates.

The course slides will be put on-line before or shortly after each course.

Reading materials are provided below, including introductory articles and course notes for the first part of the course.

The courses are accompanied with a suggestion of homework assignments. They consist in course-specific reading assignments, exercises to complete, or experiments to perform. Assignments are not evaluated by the teachers and give no credit: they are for self-evaluation only, to prepare you for the exams. Although optional, it is highly recommended that you complete these assignments.

To complete the theoretical study with implementation, we propose a project (in French). It is completely optional and not evaluated by the teachers.

First Period

Mid-term exam: on 28 November 2022, from 09:00 to 11:00 AM (2 hours).
See also the former written exams.

Second Period

Reading material

The following articles give an taste of the contents and the goal of the course:

Several recent books have been published on Abstract Interpretation:

Course notes are available for the beginning of the course. They cover roughly lessons 1 to 4.

The contents of the later lessons is generally covered in articles. Each course will thus provide a specific bibliography in the course slides, for reference (reading is them is not mandatory).

Optional project

An example programming project (in French) is available, with associated source code. The goal is to extend a small analyzer for a toy language written in OCaml.

This completely optional project will not be evaluated by the teachers and will not give credit. It is here for students wishing to practice the implementation of some principles seen during the course.

The project is based on a course given at École normle supérieure and at Sorbonne Université.

Former written exams

Internship proposals

We provide here a list of M2 internship proposals related to the course, either in the Antique team at the ENS (Paris), the APR team at Sorbonne Université (Paris), or the SyCoMoRES team (Lille). The list is updated regularly!
Feel free to contact directly the teachers for more information and more proposals.