About

I'm a Post-Doc at EPFL, in the SYSTEMF lab. My research is centered on the formal verification of programming language implementations, in particular modern regular expression engines and Just-in-Time compilers.

My current project focuses on the formal study of modern regular expressions. I work on new algorithms to match real-world regex languages with linear time complexity. Some of these algorithms have now been implemented in the linear regex engine of the V8 JavaScript engine. At the same time, I study the mechanization of modern regex semantics and the formal verification of their engines.

My PhD was about the formal verification of Just-in-Time (JIT) compilation. In that project, I designed a methodology to write and prove the correctness of JIT compilers in Coq. Compared to traditional ahead-of-time compilers, JITs dynamically optimize their programs, speculate on the future behavior of the compiled code and interleave native code with interpreted code. My PhD addressed these new verification challenges and I developed formally verified prototype JITs in Coq.

Résumé. Github. DBLP.

aurele.barriere [at] epfl.ch

Publications

Talks

  • June 2024. Linear Matching of JavaScript Regular Expressions. PLDI'24. Recorded Talk.
  • January 2023. Formally Verified Native Code Generation in an Effectful JIT. POPL'23. Recorded Talk.
  • December 2022. Formal Verification of Just-in-Time Compilation. Meta, Paris.
  • May 2022. Verified Native Code Generation in a Just-in-Time Compiler. Cambium Seminar. Slides.
  • November 2021. Verified Native Code Generation in a Just-in-Time Compiler. Journée Hybride LVP du GDR GPL. Slides.
  • January 2021. Formally Verified Speculation and Deoptimization in a JIT compiler. POPL'21. Recorded Talk.
  • June 2020. Proving Just-in-Time Compilation Correct. Northeastern NUPRL Seminar.
  • January 2020. Towards Formally Verified Just-in-Time Compilation. CoqPL'20. Slides. Extended Abstract.

Program Committees

I was a subreviewer for ESOP 2024, ESOP 2023 and ITP 2022.

Supervision

I have contributed to the supervision of the following students:

  • Sophie Ammann. Masters thesis, 2024. Formal verification of memoized regex backtracking.
  • Zacharie Tevaearai. Masters project, 2024. Regex to WASM compilation.
  • Erik Giorgis. Masters project, 2024. RE2 implementation of NFA simulation extensions.
  • Alexandre Pinazza. PhD Student, 2023. Coq verification of a regex compiler for NFA simulation.
  • Noé De Santo. Masters thesis, 2023. Coq mechanized specification of ECMAScript regexes.
  • Ludovic Mermod. Master Student assistant, 2023. Implementation of regex matching algorithms in the V8 NFA simulation engine.
  • Thomas Houhou. Bachelors project, 2023. Development of a semantic-aware JavaScript regex fuzzer.
  • Roméo La Spina. Masters project, 2021. Improvements to the inlining pass and adding a liveness analysis for more efficient speculation in a formally verified JIT compiler.

Teaching

  • 2024 Interactive Theorem Proving. Lecturer.
  • 2019-2022 SEM An introduction to Coq, program semantics and compiler verification. Lecturer.
  • 2021-2022 Preparing students for the Agrégation teaching degree. Preparing and supervising programming labs.
  • 2019-2021 GEN Software engineering. Teaching Assistant.
  • 2020-2021 ACF Software Formal Analysis and Design. Teaching Assistant.

Research Internships

  • 2019 IRISA, Rennes. Formally Verified Just-in-Time Compilation.
    Supervisors: Sandrine Blazy and David Pichardie. Internship Report.
  • 2018 Princeton University. VST Verification of a B+Trees Library.
    Supervisor: Andrew Appel. Internship Report.
  • 2017 University Federico II, Napoli. Changing Observation in Epistemic Temporal Logics.
    Supervisors: Aniello Murano, Bastien Maubert and Sasha Rubin. Internship Report.
  • 2017 Software Foundations Laboratory, Seoul National University. Implementing Integer-Pointer Cast Semantics in CompCert.
    Supervisor: Chung-Kil Hur. Internship Report.
  • 2016 IRISA, Rennes. Worst Case Execution Time (WCET) estimation using Abstract Interpretation and Constraint Programming.
    Supervisors: Charlotte Truchet and David Cachera. Internship report (in French).