Thibault Suzanne

I am a Software Engineer at Meta, within the WhatsApp dev infra Code analysis subteam. I mainly focus on static analysis of Erlang code to ensure reliability and safety properties of the WhatsApp server. In particular, I'm contributing to the open source Infer static analyser that we use at a large scale to prevent bugs in our applications.

Previously, I have worked for two years at MathWorks on the Polyspace static code analyser. I was part of the kernel development team: they leverage static analysis theories and technologies, in particular abstract interpretation, to formally prove the correction of critical software.

Before that, I was a PhD Student in the Antique team at the École Normale Supérieure in Paris, under the supervision of Antoine Miné. I also spent time in the APR team of Sorbonne Université. My topic was Abstract interpretation under weakly consistent memory models. I successfully defended on 26 February 2019. See my manuscript and defense slides (both in French).

Scientific interests

My main interest is the use of formal methods to ensure the security, safety and correctness of programs. I am particularly interested in static analysis by the means of abstract interpretation to automatically and soundly certify code properties such as the absence of some classes of errors.

I am also occasionnally interested in strong and expressive type systems and programming languages that use them, programming language implementation, and binary code analysis.


Publications


Programming

Here is some selected software I maintain or contributed to.

Cormoran

An experimental static analyser for concurrent programs within relaxed memory models.

Sterne

A scuba diving planner. Implements multi-gas staged decompression planification, air consumption and some other relevant tools. Includes a CLI interface and a mobile app.

OCamlHamt

A Hash Array Mapped Trie library I implemented for OCaml during my internship in the Gallium Inria team. I also wrote a blog entry about it.

OCamlgraph

A graph library for OCaml. I implemented the WeakTopological and ChaoticIteration modules for fixpoint computation using widening.

HEVEA

A LaTeX to HTML translator. During my internship in the Gallium team, I reworked the output module with ropes and authored the HTML5 generator.


Teaching

I have been a teaching assistant in the following courses.

2017–2018
  • Modèles de Programmation et Interopérabilité entre les Langages, L3. Sorbonne Université.
  • Encadrement de projet STL (Sciences et Technologies du Logiciel), M1. Sorbonne Université.
2016–2017
  • Introduction à la Programmation, L1. Université Paris Diderot.
  • Langages et Automates, L2. Université Paris Diderot.
2015–2016
  • Éléments d'Algorithmique, L2. Université Paris Diderot.
  • Introduction à la Programmation, L1 CPEI. Université Paris Diderot.
2014–2015
  • Introduction à la Programmation, L1. Université Paris Diderot.

Contact

Feel free to send me an email to my personal address .

Ma photo