articleJun 25, 2003Closed access

Separation logic: a logic for shared mutable data structures

Carnegie Mellon University

Indexed incrossref

Abstract

In joint work with Peter O'Hearn and others, based on early ideas of Burstall, we have developed an extension of Hoare logic that permits reasoning about low-level imperative programs that use shared mutable data structure. The simple imperative programming language is extended with commands (not expressions) for accessing and modifying shared structures, and for explicit allocation and deallocation of storage. Assertions are extended by introducing a "separating conjunction" that asserts that its subformulas hold for disjoint parts of the heap, and a closely related "separating implication". Coupled with the inductive definition of predicates on abstract data structures, this extension permits the concise and…

Citation impact

2,153
total citations
FWCI
106.81
Percentile
100%
References
38
Citations per year

Authors

1

Topics & keywords

Keywords
  • Separation logic
  • Computer science
  • Programming language
  • Disjoint sets
  • Heap (data structure)
  • Extension (predicate logic)
  • Data structure
  • Theoretical computer science
No related works found for this paper.

Funding