Network


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

Hotspot


Dive into the research topics where Josh Berdine is active.

Publication


Featured researches published by Josh Berdine.


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.


asian symposium on programming languages and systems | 2005

Symbolic execution with separation logic

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

We describe a sound method for automatically proving Hoare triples for loop-free code in Separation Logic, for certain preconditions and postconditions (symbolic heaps). The method uses a form of symbolic execution, a decidable proof theory for symbolic heaps, and extraction of frame axioms from incomplete proofs. This is a precursor to the use of the logic in automatic specification checking, program analysis, and model checking.


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


foundations of software technology and theoretical computer science | 2004

A decidable fragment of separation logic

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

{\sqcup\dagger}


static analysis symposium | 2006

Interprocedural shape analysis with separated heap abstractions

Alexey Gotsman; Josh Berdine; Byron Cook

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


asian symposium on programming languages and systems | 2007

Local reasoning for storable locks and threads

Alexey Gotsman; Josh Berdine; Byron Cook; Noam Rinetzky; Mooly Sagiv

{\sqcup\dagger}


computer aided verification | 2006

Automatic termination proofs for programs with shape-shifting heaps

Josh Berdine; Byron Cook; Dino Distefano; Peter W. O'Hearn

is a critical piece of a new shape analysis tool that provides an acceptable mixture of scalability and precision for industrial application. Experiments on whole Windows and Linux device drivers (firewire, pci-driver, cdrom, md, etc.) represent the first working application of shape analysis to verification of whole industrial programs.


symposium on principles of programming languages | 2007

Variance analyses from invariance analyses

Josh Berdine; Aziem Chawdhary; Byron Cook; Dino Distefano; Peter W. O'Hearn

We present a fragment of separation logic oriented to linked lists, and study decision procedures for validity of entailments. The restrictions in the fragment are motivated by the stylized form of reasoning done in example program proofs. The fragment includes a predicate for describing linked list segments (a kind of reachability or transitive closure). Decidability is first proved by semantic means: by showing a small model property that bounds the size of potential countermodels that must be checked. We then provide a complete proof system for the fragment, the termination of which furnishes a second decision procedure.


programming language design and implementation | 2007

Thread-modular shape analysis

Alexey Gotsman; Josh Berdine; Byron Cook; Mooly Sagiv

We describe an interprocedural shape analysis that makes use of spatial locality (i.e. the fact that most procedures modify only a small subset of the heap) in its representation of abstract states. Instead of tracking reachability information directly and aliasing information indirectly, our representation tracks reachability indirectly and aliasing directly. Computing the effect of procedure calls and returns on an abstract state is easy because the representation exhibits spatial locality mirroring the locality that is present in the concrete semantics. The benefits of this approach include improved speed, support for programs that deallocate memory, the handling of bounded numbers of heap cutpoints, and support for cyclic and shared data structures.


computer aided verification | 2011

SLAYER: memory safety for systems-level code

Josh Berdine; Byron Cook; Samin Ishtiaq

We present a resource oriented program logic that is able to reason about concurrent heap-manipulating programs with unbounded numbers of dynamically-allocated locks and threads. The logic is inspired by concurrent separation logic, but handles these more realistic concurrency primitives. We demonstrate that the proposed logic allows local reasoning about programs for which there exists a notion of dynamic ownership of heap parts by locks and threads.

Collaboration


Dive into the Josh Berdine's collaboration.

Top Co-Authors

Avatar

Byron Cook

University College London

View shared research outputs
Top Co-Authors

Avatar

Peter W. O'Hearn

Queen Mary University of London

View shared research outputs
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

Hayo Thielecke

University of Birmingham

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge