Raphaël Monat

Raphaël Monat

PhD in Static Analysis

LIP6, Sorbonne Université


I am a permanent researcher in the SyCoMoRES team at Inria Lille. I hold a Ph.D in computer science, supervised by Antoine Miné.

The aim of my research is to improve the quality of software through the field of formal methods. I aspire to develop and apply methods to the most realistic systems possible.

These last years I focused on adding static analysis of Python programs within the ERC MOPSA project. I am also interested in the interaction between the law and the code, and I have designed a modern compiler for the French tax code, which is being transferred to the French tax administration.

My CV is available in French and in English.



  • PhD in Computer Science, 2021 - 2019

    Sorbonne Université, France

  • Parisian Master of Research in Computer Science, 2017 - 2018

    Université Paris Diderot, France

  • Master in Fundamental Computer Science, 2015 - 2017

    École Normale Supérieure de Lyon, France

  • BSc in Fundamental Computer Science, 2014 - 2015

    École Normale Supérieure de Lyon, France

  • Classes préparatoires MPSI/MP*, option info, 2012 - 2014

    Lycée Louis-le-Grand, Paris, France

Recent Talks


I strongly believe that academic prototypes accompanying research papers are important to show that a proposed technique works. I care about improving these prototypes to make them usable tools accessible to others, although it takes a lot of effort.

I am proud to be one of the core contributors of the following software:


Mlang is a new compiler for M, the domain specific language used by the French Tax Administration to compute the income tax. This is joint work with Denis Merigoux.


Mopsa is a framework to write static analyses by abstract interpretation.

Community Service

Program Committee

  • SAS 2022

External Review Committee

  • SPLASH 2022 (round 2)

External Review

  • LOPSTR 2019
  • SOAP 2021
  • SAS 2021

Artifact Evaluation Committee

  • SPLASH 2022 (round 2)
  • PLDI 2022
  • CAV 2022
  • ECOOP 2021
  • PLDI 2021
  • POPL 2021
  • SAS 2020

Student Volunteering

  • POPL 2017

Enseignement (en français)


  • LU1IN002 : éléments de programmation (C).
  • LU2IN005 : mathématiques discrètes.
  • LU2IN019 : programmation fonctionnelle (OCaml).
  • LU2IN024 : logique.
  • MU4IN500 : algorithmique avancée.
  • MU5IN554 : spécification et validation de programmes.
  • MU5IN555 : typage et analyse statique.
  • MPRI 2.6 : abstract interpretation, slides


  • LU3IN002 : programmation orientée objet avancée (Java).


  • LU1IN001 : éléments de programmation (Python).
  • MU4IN500 : algorithmique avancée.