My research focuses on program verification, interactive theorem proving and, particularly, the challenges of making interactive proofs more automatic / scale to real code. This webpage provides a brief introduction to my research in the following areas:
- Decompilation into logic — verification of machine code
- Proof-producing synthesis from logic
- Verified Lisp and ML runtimes
- Connecting things up: verified stacks
My most recent work has focused on CakeML, which is an ML-style language with a formal semantics and a growing ecosystem of proofs and tools that support construction of verified applications. As far as I know, the CakeML compiler is the first verified compiler to have been bootstrapped.
Send me an email if you'd like to know more. My email address is at the top of the page.