Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Peter O'Hearn
[go: Go Back, main page]

Peter O'Hearn

      Professor of Computer Science
      School of Electronic Engineering and Computer Science
      Queen Mary, University of London, London, E1 4NS, UK
      Phone: +44 (0)20 7882 5443.   Fax: +44 (0)20 7882 7064.  
      e-mail: ohearn AT eecs.qmul.ac.uk  
 
 
News:

Research:    

My research interests are in logic and semantics of computation. With John Reynolds (CMU) I developed separation logic, which addresses the problem of tractable reasoning about dynamically allocated objects. With David Pym (then at Queen Mary, now at Abereen) I developed bunched logic, a general logic of resource, which is a more abstract cousin of and precursor to separation logic. My concurrent separation logic (proven sound by Steve Brookes) has made inroads on the problem of modular reasoning about shared-memory concurrent programs.

In much of my work I have been interested in the concept of locality, the idea that programmers look at state in little pieces rather than keeping track of the entire global state. I proposed a connection between parametric polymorphism and local state in a JACM'95 paper with Bob Tennent. This spurred some of my later work on separation logic and the frame problem and what I called "local reasoning", that you can reason about a piece of code by talking only about the resources it touches instead of tracking the entire global state of a system. The local reasoning ideal remains challenging to achieve in practice, particularly for concurrent programs.

In recent years I've gotten involved in software tools research, particularly with the SpaceInvader team (Cristiano Calcagno, Dino Distefano, Hongseok Yang and I) in London and our SLAyer/TERMINATOR colleagues at Microsoft Cambridge (Josh Berdine, Byron Cook). The ideas on locality and separation eventually, after being married with abductive inference, allowed a certain kind of automatic program analysis to scale to millions lines of code, where previously only hundreds or a few thousands were possible (see new JACM paper above). Of late I've also been paying attention to some of the fascinatingly intricate fine-grained concurrent algorithms (Bornat, Rinetzky, Yang..). More generally, I have many excellent colleagues in the London/Cambridge area who are enthusiastically pursuing program logic and semantics, mechanized program verification and static program analysis; it is a great place for this sort of research at the moment.

Random Links (includes past and present):     CV     Publications     Resource Reasoning     TCS@QM     Separation Logic     Smallfoot     SpaceInvader     SLAyer     Terminator     East London Massive     Attack of the 50 Foot Spatial Dudes     Proof of Cyclic List Reversal