Raphaël Monat

Raphaël Monat

Research Scientist (he/him)

Inria & University of Lille

I am a research scientist in the SyCoMoRES team at Inria Lille. I hold a Ph.D in computer science, advised by Antoine Miné, during which I worked on the static analysis of Python (and Python+C) programs within the ERC MOPSA project. I have designed with Denis Merigoux a modern compiler for the French tax code, which is being transferred to the French tax administration.

The aim of my research is to improve the quality of software through the field of formal methods, and mainly automated program verification. I aspire to develop and apply methods to the most realistic systems possible. I have a particular interest in implementations of computational laws (taxes, benefits).

These days, I am exploring

I am looking for motivated interns, PhD students, postdocs & collaborators. Applicants from all backgrounds, horizons, genders and ages are encouraged to apply. Informal inquiries are welcome, do feel free to send me an email!

News

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.

Students

Current students

Past students

Software

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:

Mopsa

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

Mlang

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.

Community Service

Chairing

Program Committee (international conferences)

Program Committee (workshops, national conferences, and competitions)

Extended Review Committee

External Review

  • STTT 2025
  • PLDI 2025
  • JLAMP 2024 (x 2)
  • STTT 2024
  • Journal of Systems & Software 2024
  • ATVA 2023
  • Science of Computer Programming 2022
  • LOPSTR 2019
  • SOAP 2021
  • ACM TECS 2021
  • SAS 2021

Artifact Evaluation Committee

Scientific expertise

  • External ANR reviewer in 2023

Others

  • Part of the benchmark quality assurance team of SV-Comp, in charge of maintaining the repository and the quality of more than 30,000 C programs used in the competition and by the community to evaluate new analyses.
  • POPL 2017 Student Volunteer

Some specific French duties

Niveau national

  • Jury concours 2025 CRCN/ISFP Inria Lille, co-référent parité égalité des chances. Le concours a reçu 31 candidatures et auditionné 13 personnes sur deux jours.

  • Membre du CSI de Dorian Lesbre.

  • J’ai été jury en Juin 2023 et en Juin 2024 des oraux d’informatique, sur les concours d’entrées aux Écoles Normales Supérieures via les filières MP et MPI des classes préparatoires. Les rapport du jury sont disponibles (2023, 2024)

Niveau local

Enseignement (en français)

2024-2025

  • Compilation, M1 Université de Lille

2023-2024

  • Compilation, M1 Université de Lille.

2022-2023

  • Compilation, M1 Université de Lille.

2021-2022

  • 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

2020-2021

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

2019-2020

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

2018-2019

Contact