Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Separation logic and abstraction

Matthew J. Parkinson and Gavin M. Bierman

Abstract

In this paper we address the problem of writing specifications for programs that use various forms of modularity, including procedures and Java-like classes. We build on the formalism of separation logic and introduce the new notion of an abstract predicate and, more generally, abstract predicate families. This provides a flexible mechanism for reasoning about the different forms of abstraction found in modern programming languages, such as abstract datatypes and objects. As well as demonstrating the soundness of our proof system, we illustrate its utility with a series of examples.

Details

Publication typeInproceedings
Published inPOPL
URLhttp://www.cl.cam.ac.uk/~mjp41/p205-parkinson.pdf
Pages247–258
> Publications > Separation logic and abstraction