I am a Lecturer in the Department of Computer Science at Royal Holloway, University of London. Before that, I was a Lecturer (Assistant Professor) at the University of Kent, which I joined in 2021. Prior to this, I worked as a Research Associate at Imperial College London as part of the Mobility Reading Group. I did my PhD at the University of St. Andrews, where I was part of the then called Functional Programming Group (today known as the Programming Languages Research group).

Research Interests

I am interested in interactive theorem proving, programming language design and implementation, concurrency and distribution, and parallelism.


My research involves applying programming language-based techniques to the development of safe and predictable systems, with a strong emphasis on concurrent and distributed systems. I develop and apply techniques based on behavioural types for reasoning about functional (e.g. correctness) and extra-functional (e.g. cost) of concurrent and distributed systems. I developed high-level frameworks for parallel programming that provide guarantees of correctness by construction, and I developed static cost analysis for predicting the potential achievable speedups. Additionally, I am very interested in building certified tools and languages, mostly in (but not limited to) the Rocq (formerly Coq) interactive theorem prover.