Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Peter W. O'Hearn is active.

Publication


Featured researches published by Peter W. O'Hearn.


international conference on concurrency theory | 2004

Resources, Concurrency and Local Reasoning

Peter W. O'Hearn

In this paper we show how a resource-oriented logic, separation logic, can be used to reason about the usage of resources in concurrent programs.


tools and algorithms for construction and analysis of systems | 2006

A local shape analysis based on separation logic

Dino Distefano; Peter W. O'Hearn; Hongseok Yang

We describe a program analysis for linked list programs where the abstract domain uses formulae from separation logic.


formal methods | 2005

Smallfoot: modular automatic assertion checking with separation logic

Josh Berdine; Cristiano Calcagno; Peter W. O'Hearn

Separation logic is a program logic for reasoning about programs that manipulate pointer data structures. We describe Smallfoot, a tool for checking certain lightweight separation logic specifications. The assertions describe the shapes of data structures rather than their detailed contents, and this allows reasoning to be fully automatic. The presentation in the paper is tutorial in style. We illustrate what the tool can do via examples which are oriented toward novel aspects of separation logic, namely: avoidance of frame axioms (which say what a procedure does not change); embracement of “dirty” features such as memory disposal and address arithmetic; information hiding in the presence of pointers; and modular reasoning about concurrent programs.


Theoretical Computer Science | 2007

Resources, concurrency, and local reasoning

Peter W. O'Hearn

In this paper we show how a resource-oriented logic, separation logic, can be used to reason about the usage of resources in concurrent programs.


symposium on principles of programming languages | 2004

Separation and information hiding

Peter W. O'Hearn; Hongseok Yang; John C. Reynolds

We investigate proof rules for information hiding, using the recent formalism of separation logic. In essence, we use the separating conjunction to partition the internal resources of a module from those accessed by the modules clients. The use of a logical connective gives rise to a form of dynamic partitioning, where we track the transfer of ownership of portions of heap storage between program components. It also enables us to enforce separation in the presence of mutable data structures with embedded addresses that may be aliased.


symposium on principles of programming languages | 2009

Compositional shape analysis by means of bi-abduction

Cristiano Calcagno; Dino Distefano; Peter W. O'Hearn; Hongseok Yang

This paper describes a compositional shape analysis, where each procedure is analyzed independently of its callers. The analysis uses an abstract domain based on a restricted fragment of separation logic, and assigns a collection of Hoare triples to each procedure; the triples provide an over-approximation of data structure usage. Compositionality brings its usual benefits -- increased potential to scale, ability to deal with unknown calling contexts, graceful way to deal with imprecision -- to shape analysis, for the first time. The analysis rests on a generalized form of abduction (inference of explanatory hypotheses) which we call bi-abduction. Bi-abduction displays abduction as a kind of inverse to the frame problem: it jointly infers anti-frames (missing portions of state) and frames (portions of state not touched by an operation), and is the basis of a new interprocedural analysis algorithm. We have implemented our analysis algorithm and we report case studies on smaller programs to evaluate the quality of discovered specifications, and larger programs (e.g., an entire Linux distribution) to test scalability and graceful imprecision.


computer aided verification | 2008

Scalable Shape Analysis for Systems Code

Hongseok Yang; Oukseh Lee; Josh Berdine; Cristiano Calcagno; Byron Cook; Dino Distefano; Peter W. O'Hearn

Pointer safety faults in device drivers are one of the leading causes of crashes in operating systems code. In principle, shape analysis tools can be used to prove the absence of this type of error. In practice, however, shape analysis is not used due to the unacceptable mixture of scalability and precision provided by existing tools. In this paper we report on a new join operation


logic in computer science | 2007

Local Action and Abstract Separation Logic

Cristiano Calcagno; Peter W. O'Hearn; Hongseok Yang

{\sqcup\dagger}


Theoretical Computer Science | 2004

Possible worlds and resources: the semantics of BI

David J. Pym; Peter W. O'Hearn; Hongseok Yang

for the separation domain which aggressively abstracts information for scalability yet does not lead to false error reports.


Journal of the ACM | 1995

Parametricity and local variables

Peter W. O'Hearn; Robert D. Tennent

{\sqcup\dagger}

Collaboration


Dive into the Peter W. O'Hearn's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Dino Distefano

Queen Mary University of London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Byron Cook

University College London

View shared research outputs
Top Co-Authors

Avatar

Uday S. Reddy

University of Birmingham

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

John C. Reynolds

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

David J. Pym

University College London

View shared research outputs
Researchain Logo
Decentralizing Knowledge