I am a software engineer at Sonar, working on static analysis for a variety of programming languages, but with a primary focus on the Java ecosystem.

Before that, I did a PhD at the University of Geneva in the Semantics, Modelling and Verification Group of the Computer Science Department. My research focused on approaches for safe memory management in programming languages: I wrote a thesis about expressing borrow checking (found e.g. in the Rust programming language) as a form of abstract interpretation and exploring alternative ways to express it, to try and improve the precision of the analysis.

Before starting my PhD, I completed both my BSc and MSc in computer science at the University of Geneva. There, I studied theoretical subjects such as formal methods and program verification, as well as more applicative ones like machine learning and natural language processing.

My main research interests include (but aren’t limited to):

  • Programming languages design and implementation;
  • Compilers;
  • Static analysis;
  • Program verification.