Why Separation Logic Works.

Saved in:
Bibliographic Details
Title: Why Separation Logic Works.
Authors: Pym, David1 d.pym@ucl.ac.uk, Spring, Jonathan M.1 jspring@cs.ucl.ac.uk, O'Hearn, Peter1 p.ohearn@ucl.ac.uk
Source: Philosophy & Technology. Sep2019, Vol. 32 Issue 3, p483-516. 34p.
Subject Terms: *Computer software, Computer logic, Software engineering, Nonrenewable natural resources, Logic, Proof theory
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 (a subset of) the problems, process, and results of computer scientists for those outside the field. [ABSTRACT FROM AUTHOR]
Copyright of Philosophy & Technology is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Education Research Complete
FullText Text:
  Availability: 0
Header DbId: ehh
DbLabel: Education Research Complete
An: 138108665
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Why Separation Logic Works.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Pym%2C+David%22">Pym, David</searchLink><relatesTo>1</relatesTo><i> d.pym@ucl.ac.uk</i><br /><searchLink fieldCode="AR" term="%22Spring%2C+Jonathan+M%2E%22">Spring, Jonathan M.</searchLink><relatesTo>1</relatesTo><i> jspring@cs.ucl.ac.uk</i><br /><searchLink fieldCode="AR" term="%22O'Hearn%2C+Peter%22">O'Hearn, Peter</searchLink><relatesTo>1</relatesTo><i> p.ohearn@ucl.ac.uk</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Philosophy+%26+Technology%22">Philosophy & Technology</searchLink>. Sep2019, Vol. 32 Issue 3, p483-516. 34p.
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: *<searchLink fieldCode="DE" term="%22Computer+software%22">Computer software</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+logic%22">Computer logic</searchLink><br /><searchLink fieldCode="DE" term="%22Software+engineering%22">Software engineering</searchLink><br /><searchLink fieldCode="DE" term="%22Nonrenewable+natural+resources%22">Nonrenewable natural resources</searchLink><br /><searchLink fieldCode="DE" term="%22Logic%22">Logic</searchLink><br /><searchLink fieldCode="DE" term="%22Proof+theory%22">Proof theory</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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 (a subset of) the problems, process, and results of computer scientists for those outside the field. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Philosophy & Technology is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=ehh&AN=138108665
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1007/s13347-018-0312-8
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 34
        StartPage: 483
    Subjects:
      – SubjectFull: Computer software
        Type: general
      – SubjectFull: Computer logic
        Type: general
      – SubjectFull: Software engineering
        Type: general
      – SubjectFull: Nonrenewable natural resources
        Type: general
      – SubjectFull: Logic
        Type: general
      – SubjectFull: Proof theory
        Type: general
    Titles:
      – TitleFull: Why Separation Logic Works.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Pym, David
      – PersonEntity:
          Name:
            NameFull: Spring, Jonathan M.
      – PersonEntity:
          Name:
            NameFull: O'Hearn, Peter
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 09
              Text: Sep2019
              Type: published
              Y: 2019
          Identifiers:
            – Type: issn-print
              Value: 22105433
          Numbering:
            – Type: volume
              Value: 32
            – Type: issue
              Value: 3
          Titles:
            – TitleFull: Philosophy & Technology
              Type: main
ResultId 1