Research

My ongoing research projects are listed at the end of this page.

Research Areas

Session Types

Multiparty session types (MPST) describe the communication protocols of concurrent and distributed systems as types, and guarantee that well-typed programs are free from deadlocks and communication errors. My work on session types covers:

Interactive Theorem Proving

I build mechanised metatheory and certified tools in proof assistants, mostly Rocq (formerly Coq):

Parallel Programming Frameworks

Structured parallelism gives correctness by construction; the hard part is choosing a parallel structure that achieves good speedups. I have used hylomorphisms to reason about both the semantics and the cost of structured parallel programs (ICFP 2016, FGCS 2018), the subject of my PhD thesis. PAlg (CC 2020) compiles first-order functions to message-passing parallel code that is deadlock-free by construction, using multiparty session types.

Ongoing Research Projects