I am a Software Engineer on the Static Analysis Tools team in the Facebook London Engineering office.  I joined Facebook in 2015, and before that was a Researcher at Microsoft Research, Cambridge since 2005.

My research is in the broad area of programming languages, mostly dealing with static analysis and program logic, with a specific focus on automatic analysis and verification using separation logic.  Cristiano Calcagno, Peter O’Hearn and I initiated research and development on automating separation logic, which became the technical core and foundation of the Microsoft SLAyer and Facebook Infer analyzers.  Infer currently runs in production on every change submitted to the Facebook mobile apps.

I received the 2016 CAV Award “for the development of Separation Logic and for demonstrating its applicability in the automated verification of programs that mutate data structures”.

I am on the Program Committee’s of ESOP 2018 and SAS 2017 and recently sat on the Program Committee’s of POPL 2017 and HOPE 2016.


Programming Languages, Static Analysis and Program Logic