Site in progress: I am still updating this site. Please reach out if you have further questions.

I am a Lecturer (Assistant Professor) at the University of Kent since 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 build certified tools and languages, mostly in (but not limited to) the Coq interactive theorem prover.

PhD Vacancies

I am looking for a PhD student to work on session types, interactive theorem proving for concurrency and distribution, or high-level parallel programming frameworks.