Licorne: An experimental programming language to explore language-level support for lightweight verification,
especially refinement types and their inference.
๐ฆ [compiler]
Grattlesnake: A simple programming language to experiment with gradual object capabilities, based on the Gradient
type system (Boruch-Gruszecki et al., 2024).
๐ [thesis]
[implementation]
[example]
[language documentation]
Scala DSL for chemistry: A simple DSL for stoichiometric computations. Able to
balance chemical equations and perform computations involving the reactants and/or products of a chemical reaction.
Course project at USI (autumn 2025).
๐งช [implementation]
[report]
Jumbotrace: A tracer for Java programs, designed to help beginners in programming
understand how their code works.
๐ [javac plugin]
[bytecode transformer]
[report]
Deductive verifier for a toy language: A toy language with verification capabilities.
Course project at EPFL (autumn 2022).
โ [implementation]
[report]
[slides]
Capybara: A simple symbolic execution based bug-finder for JVM bytecode.
๐ฆซ [code]