About
My name is Samuel Chassot. I am a PhD candidate in LARA at EPFL, Switzerland, under the guidance of Prof. Viktor Kunčak. My research focuses on Formal Methods and Software Verification.
Before starting my PhD, I obtained an MSc in Computer Science from EPFL, Switzerland.
Outside of my academic pursuits, I am a passionate watchmaking enthusiast, learning and practicing this craft during my leisure time. I am also passionate about space exploration, astronomy, and everything aerospace and aviation related.
Research
My current research focuses on software verification, particularly with Stainless, a verifier for a subset of Scala that uses SMT solvers to find counterexamples or prove validity.
My thesis, in one line: make software verification accessible.
Build verified software
A growing library of verified data structures, regex engines, and frameworks — proven correct, not just tested.
Build better tools
Improving verifiers like Stainless so that proving real-world code correct takes less expert effort.
Much of my verification work is open source in Bolts, a library of verified data structures, algorithms, and programs proven correct with Stainless.
Bolts on GitHubRecent projects
Verifying the Scala standard library's LongMap
Full verification of a mutable, open-addressing hashtable from the Scala standard library. The proof uncovered a bug in the original implementation; my formally verified fix was accepted upstream. Published at IJCAR 2024.
Verified regex matching & invertible lexing
An implementation of regex matching with derivatives, verified in Stainless, used to build a lexer proven correct: it follows longest-match semantics and is invertible.
Verified ASN.1 serialization, with ESA
Verification of an ASN.1/ACN serialization protocol implementation, in collaboration with the European Space Agency. Published at VMCAI 2025.
Earlier projects
SVSHI — Secure and Verified Smart Home Infrastructure
My master thesis. SVSHI formally verifies Python smart building apps for KNX devices and manages KNX communications: a framework to develop and verify applications, plus a runtime system to run them on a KNX infrastructure.
Resource interfaces
An exploration of resource interfaces for programs — analogous to semantic interfaces, but expressing resource usage as a function of inputs — with a focus on serverless computing and a Python prototype extracting basic interfaces for simple programs.
Publications
Talks
-
Details SlidesRefinement Types in Scala with StainlessWith Katarzyna Marek and Matt Bovel — Scala Workshop 2026
-
SlidesMutable Cells for Memoized LexingVerified memoization framework for verified invertible lexing — invited talk, VIMPL 2026
-
SlidesTo Space and Back: Verified SerialisationFormally verifiable generated ASN.1/ACN encoders and decoders — VMCAI 2025
-
SlidesStainless Verifier and Composition in VerificationLMF Seminar on Software Verification, 2024
-
SlidesVerifying a Realistic Mutable Hash TableIJCAR 2024
Miscellaneous Resources
Interesting SMT queries
Interesting SMT queries I encountered in my projects. They can serve as benchmarks.
A slow cvc5 query
Generated by Stainless when verifying a "Bit Stream" implementation for the ASN.1 project. It takes a particularly long time to solve: ~100 s on my MacBook Pro, ~230 s on our Linux server. The smt2 file contains a comment header with options to pass to cvc5.