Bio: I am a Researcher in the Programming Principles and Tools group at Microsoft Research, UK.

Research Interests: I am investigating different ways to verify concurrent programs, and decision procedures for separation logic.

Prior to joining Microsoft in March 2010, I spent the last four years in the Cambridge Computer Lab on an RAEng/EPSRC research fellowship investigating how to verify object-oriented and concurrent programs meet their specifications. I have also made some brief forays into programming language semantics and design.

Before the research fellowship I did a post-doc with Richard Bornat verifying crazy concurrent programs running on exotic hardware. And prior to that I did a Ph.D. in the Computer Lab in Cambridge with Gavin Bierman and Andrew Pitts on extending separation logic to reason about Java programs.