Semantics & applications to verification

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 inference of the proofs is then performed by another computer program.

– Xavier Rival on his website

News

The project is available !

Practical session

The lab session base code is available in the moodle.

Please read the installation procedure and the syntax description

A correction of TP1, TP2, and some parts of TP3 is available on ENS gitlab.