I'm a PhD student at the
BINSEC Team,
working from NanoINNOV at
CEA Paris-Saclay.
My PhD subject is centered around SSA translation by abstract interpretation.
I work under the supervision of
Matthieu Lemerre.
My research interests focus on verification and low-level systems:
formal methods, abstract interpretation, type systems, Coq, operating systems, compilers, hardware, functionnal programming and more.
Besides computer science, I also enjoy mathematics and physics.
My hobbies include outdoor sports such as rock climbing, sailing, hiking and skiing.
I also enjoy reading, especially sci-fi and detective stories.
You can also find me playing board games and video games
Dorian Lesbre and Matthieu Lemerre
PLDI 2024
Abstract
Rewriting and static analyses are mutually beneficial techniques: program transformations change the inten-
sional aspects of the program, and can thus improve analysis precision, while some efficient transformations
are enabled by specific knowledge of some program invariants. Despite the strong interaction between these
techniques, they are usually considered distinct. In this paper, we demonstrate that we can turn abstract
interpreters into compilers, using a simple free algebra over the standard signature of abstract domains.
Functor domains correspond to compiler passes, for which soundness is translated to a proof of forward
simulation, and completeness to backward simulation. We achieve translation to SSA using an abstract do-
main with a non-standard SSA signature. Incorporating such an SSA translation to an abstract interpreter
improves its precision; in particular we show that an SSA-based non-relational domain is always more precise
than a standard non-relational domain for similar time and memory complexity. Moreover, such a domain
allows recovering from precision losses that occur when analyzing low-level machine code instead of source
code. These results help implement analyses or compilation passes where symbolic and semantic methods
simultaneously refine each other, and improves precision when compared to doing the passes in sequence.