Why Separation Logic Works

Philosophy and Technology 32 (3):483-516 (2019)
  Copy   BIBTEX

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 appli- cations 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 the problems, process, and results of computer scientists for those outside the field.

Links

PhilArchive



    Upload a copy of this work     Papers currently archived: 91,672

External links

Setup an account with your affiliations in order to access resources via your University's proxy server

Through your library

Similar books and articles

Separation logics and modalities: a survey.Stéphane Demri & Morgan Deters - 2015 - Journal of Applied Non-Classical Logics 25 (1):50-99.
Reasoning about sequences of memory states.Rémi Brochenin, Stéphane Demri & Etienne Lozes - 2010 - Annals of Pure and Applied Logic 161 (3):305-323.
Logic for computer scientists.Uwe Schöning - 1989 - Boston: Birkhäuser.
Linear logic in computer science.Thomas Ehrhard (ed.) - 2004 - New York: Cambridge University Press.
Logic is not Logic.Jean-Ives Béziau - 2010 - Abstracta 6 (1):73-102.
Mathematical logic for computer science.M. Ben-Ari - 1993 - New York: Prentice-Hall.
Fine-grained Concurrency with Separation Logic.Kalpesh Kapoor, Kamal Lodaya & Uday S. Reddy - 2011 - Journal of Philosophical Logic 40 (5):583-632.
On the Π1 1 -separation principle.Antonio Montalbán - 2008 - Mathematical Logic Quarterly 54 (6):563-578.

Analytics

Added to PP
2018-05-22

Downloads
26 (#607,778)

6 months
9 (#301,354)

Historical graph of downloads
How can I increase my downloads?

Author's Profile

David Pym
University College London

Citations of this work

A refinement to the general mechanistic account.Eric Nelson Hatleback & Jonathan M. Spring - 2019 - European Journal for Philosophy of Science 9 (2):19.

Add more citations