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

Matthew J. Parkinson and Gavin M. Bierman


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.


Publication typeInproceedings
Published inPOPL
> Publications > Separation logic and abstraction