I am a Research Scientist working with the Static Analysis Tools team in the Facebook London Engineering office. I came to Facebook in 2013 with the acquisition of the verification startup Monoidics, and before that I held academic positions at Syracuse University, Queen Mary University of London and University College London. I maintain a part-time Professor position at UCL.
My research has been in the broad areas of programming languages and logic, ranging from new logics and mathematical models to industrial applications of formal proof. With John Reynolds I developed separation logic, a theory which opened up new practical possibilities for program verification. Subsequent work in academic program analysis eventually led to the the Monoidics/Facebook Infer program analyzer, which is notable for supporting deep reasoning about big code that is undergoing rapid concurrent modification. Infer currently runs in production at Facebook, where it helps thousands of bugs be fixed each month before reaching production.
I have received a number of awards for my work in verification including the 2016 CAV Award and the 2016 Godel Prize. I was elected fellow of the Royal Society in 2018 and Fellow of the Royal Academy of Engineering in 2016.
POPL - January 23, 2020
Dino Distefano, Manuel Fahndrich, Francesco Logozzo, Peter O'Hearn
CACM - July 29, 2019
CACM - February 1, 2019
Nikos Gorogiannis, Peter O'Hearn, Ilya Sergey
POPL - January 14, 2019
Sam Blackshear, Nikos Gorogiannis, Peter O'Hearn, Ilya Sergey
OOPSLA 2018 - November 3, 2018
From Start-ups to Scale-ups: Opportunities and Open Problems for Static and Dynamic Program Analysis
Mark Harman, Peter O'Hearn
SCAM 2018 - September 23, 2018
LISC 2018 - July 9, 2018
SAS 2018 - July 9, 2018
LICS - August 13, 2015
Cristiano Calcagno, Dino Distefano, Jeremy Dubreil, Dominik Gabi, Pieter Hooimeijer, Martino Luca, Peter O'Hearn, Irene Papakonstantinou, Jim Purbrick, Dulma Churchill
February 10, 2015
Stephen Brookes, Peter O'Hearn, Uday S. Reddy
POPL - January 22, 2014