I am a Senior Researcher at LASIGE where I lead the Reliable Software Systems research line. My own research is at the intersection of AI and Programming Languages and Software Engineering.
I am working on Æon Programming Language, a programming language that rejects at compile-time programs that call methods on objects in the wrong state (e.g., calling read() on a closed file). If agents only interact with their environment via this language, you get free logical guardrails in your harness. The features of this language have also been added to the Java programming language via the LiquidJava project.
Recent Publications
Barista: Synthesizing Typestate Specifications with LLM Agents at ASE 2026
Usability Barriers for Liquid Types at PLDI 2025
ROSpec: A Domain-Specific Language for ROS-based Robot Software at OOPSLA 2025
Latte: Lightweight Aliasing Tracking for Java at HATRA+IWACO 2023
Usability-Oriented Design of Liquid Types for Java at ICSE 2023