This page describes the organization of the course and gives access to the course slides.
The course is presented on the M2-6 page on the MPRI site.
The course takes place on Wednesday, from 8:45 to 11:45, at University Paris 7, Sophie Germain Building, room 2035.
The course is organized in two periods of 8 courses each. The first period will begin on the 13 September 2017. The first period will end with a 3-hour written exam. 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.
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 before or shortly after each course, so, please consult this page regularly.
Courses are accompanied with a suggestion of homework assignments.
Assignments are not evaluated by the teachers and give no credit: they are for self-evaluation only, to prepare you for the exams.
Assignments may consist in reading assignments, exercises to complete, or experiments to perform.
It is highly recommended that you perform the suggested assignments.
First Period
Topics: Course organization; Introduction; Order theory.
Slides: 01a: organisation, 01b: introduction, 01c: order theory.
Assignments:
Topics: State and traces semantics; State and trace properties.
Slides: 02: program semantics.
Assignments:
Topics: Non-relational numeric abstract domains.
Slides: 03: non-relational numeric domains.
Assignments:
Topics: Relational numeric abstract domains.
Slides: 04: relational numeric domains.
Assignments:
Topics: Partitioning abstractions.
Slides: 05: Partitioning abstractions.
Assignments:
Topics: Basic memory and shape abstractions.
Slides: 06: Memory abstraction.
Assignments:
Topics: Separation logic based shape abstractions.
Slides: 07: Shape analysis based on separation logic.
Assignments:
Topics: Numeric analysis of concurrent programs.
Written exam: on 29 November 2017.
(see also the former written exams)
Second Period
Topics: Static analysis for shared memory data structures.
Topics: Programming abstractions for static analysis of distributed data structures.
Slides: 11a: The arithmetic-geometric progression abstract domain, 11b: Static analysis of digital filters.
Slides: 12a: Abstract interpretation of protein-protein
interactions networks, 12b: Reachability analysis of rule-based models.
Topics: Program transformations as abstract interpretation
Slides: 16: Program transformations as abstract interpretation.
Oral exam: on 7 March 2018.
Preliminary course notes covering mainly lessons 1, 3, and 4 are available, per request, by email at .
The following articles give an taste of the contents and the goal of the course:
Additionally, a course-specific bibliography is provided in the course slides (for reference; reading is not mandatory).
You will find below a list of M2 internship proposals related to the course, either in the Abstraction team at the ENS or outside. The list will be updated regularly. Feel free to contact directly the teachers for more information and more proposals.