Why Separation Logic Works

The work

AuthorsDavid Pym; Jonathan M. Spring; Peter W. O'Hearn
Editors
Typearticle
Year2019
Citekeypym2019why

Where it appeared

Published inPhilosophy & Technology
PublisherSpringer
Volume32
Issue3
Pages483--516

Abstract

One might poetically muse that computers have the essence both of logic and machines. Through the case of the history of Separation Logic, we explore how this assertion is more than idle poetry. Separation Logic works because it merges the software engineer’s conceptual model of a program’s manipulation of computer memory with the logical model that interprets what sentences in the logic are true, and because it has a proof theory which aids in the crucial problem of scaling the reasoning task. Scalability is a central problem, and some would even say the central problem, in applications of logic in computer science. Separation Logic is an interesting case because of its widespread success in verification tools. For these two senses of model—the engineering/conceptual and the logical—to merge in a genuine sense, each must maintain their norms of use from their home disciplines. When this occurs, both the logic and engineering benefit greatly. Seeking this intersection of two different senses of model provides a strategy for how computer scientists and logicians may be successful. Furthermore, the history of Separation Logic for analysing programs provides a novel case for philosophers of science of how software engineers and computer scientists develop models and the components of such models. We provide three contributions: an exploration of the extent of models merging that is necessary for success in computer science; an introduction to the technical details of Separation Logic, which can be used for reasoning about other exhaustible resources; and an introduction to (a subset of) the problems, process, and results of computer scientists for those outside the field.

A copy is held

pdf, 815.6 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-08-05 00:00 UTC
Approved bya person 2026-08-16 15:33 UTC

Cite it as

@article{pym2019why,
  title        = {Why Separation Logic Works},
  author       = {David Pym and Jonathan M. Spring and Peter W. O'Hearn},
  year         = {2019},
  journal      = {Philosophy \& Technology},
  publisher    = {Springer},
  volume       = {32},
  number       = {3},
  pages        = {483--516},
  doi          = {10.1007/s13347-018-0312-8},
}

This record lives at https://refs.drheap.org/pym2019why/ and will keep doing so.