Raphaël Monat

Raphaël Monat

PhD in Static Analysis

LIP6, Sorbonne Université


I am research and teaching assistant, working on Static Analysis of Dynamic Programming Languages with Antoine Miné, within the ERC MOPSA project.

My CV is available in French and in English.


Previous Research Experiences

  • Static Type and Value Analysis by Abstract Interpretation of Python Programs with Native C Libraries.
    Under the supervision of Antoine Miné - 2018 -- 2021.

    APR team, LIP6, Sorbonne Université, Paris, France.

  • Formal verification of Static Analyses of Floating-point Programs.
    Under the supervision of Eva Darulova - February to June 2017.

    Automated Verification and Approximation team, MPI-SWS, Saarbrücken, Germany.

  • Black-box Variational Inference in Probabilistic Programming.
    Under the supervision of Hongseok Yang - May to July 2016.

    Department of Computer Science, University of Oxford, UK.

  • Abstract Interpretation of Concurrent Programs.
    Under the supervision of Antoine Miné - June & July 2015.

    ANTIQUE Team, École Normale Supérieure, Paris, 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

External Review Committee

  • SPLASH 2022 (round 2)

External Review

  • LOPSTR 2019
  • SOAP 2021
  • SAS 2021

Artifact Evaluation Program Committee

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

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.