Raphaël Monat

Raphaël Monat


Inria & University of Lille


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.

Please contact me by email if you are interested in working with me!



  • 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 2023 (rounds 1 & 2)
  • SPLASH 2022 (round 2)

External Review

  • LOPSTR 2019
  • SOAP 2021
  • SAS 2021

Artifact Evaluation Committee

  • SPLASH 2023 (rounds 1 & 2)
  • 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.