Keynote: Formal Reasoning and the Hacker Way
In 2013 I moved from to industry after over 25 years in academia, when Facebook acquired a verification startup, Monoidics, that I was involved with. In this talk I’ll recount the clash of cultures I encountered, where traditionally calm and cool formal reasoning techniques came in contact with a heated software development methodology based on rapid modification of large codebases (thousands of modifications per day on 10s MLOC). I will tell how we found that static formal reasoning could thrive, if certain technical approaches (based on compositionality), how the industrial experience caused me to question some of the assumptions I learned in academic static analysis, and how I’ve come out the other side with new science spurred by that experience (most recently, incorrectness logic). Overall, I hope to convey that having science and engineering playing off one another in a tight feedback loop is possible, even advantageous, when practicing static analysis in industry at present.
Peter O’Hearn is a Research Scientist at Facebook and a Professor at University College London. Peter has done research in the broad areas of programming languages and logic for over 25 years, having held academic positions at Syracuse University, Queen Mary University of London, and University College London, before joining Facebook in 2013 as part of the acquisition of the verification startup Monoidics. With John Reynolds Peter devised Separation Logic, a theory which opened up new practical possibilities for program proof, including the technology which led to the Infer program analyzer developed by Peter’s team at Facebook. Infer runs internally on Facebook’s code bases, and has detected over 100,000 bugs which have been fixed by Facebook’s developers in the past five years. Infer is also used in production at a number of other companies, including Amazon, Mozilla, Spotify and Marks and Spencer. Most recently Peter developed Incorrectness Logic, a theory aimed at providing a foundation for bug catching tools. Peter is a Fellow of the Royal Society (elected 2018), a Fellow of the Royal Academy of Engineering (2016), he has received a number of awards for his work including the the 2016 Gödel Prize, the 2016 CAV Award and two POPL MIP awards, and he received an honorary doctorate from Dalhousie University in 2018.