Transitive separation logic

  • Authors:
  • Han-Hing Dang;Bernhard Möller

  • Affiliations:
  • Institut für Informatik, Universität Augsburg, Augsburg, Germany;Institut für Informatik, Universität Augsburg, Augsburg, Germany

  • Venue:
  • RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Separation logic (SL) is an extension of Hoare logic by operations and formulas that not only talk about program variables, but also about heap portions. Its general purpose is to enable more flexible reasoning about linked object/record structures. In the present paper we give an algebraic extension of SL at the data structure level. We define operations that additionally to heap separation make assumptions about the linking structure. Phenomena to be treated comprise reachability analysis, (absence of) sharing, cycle detection and preservation of substructures under destructive assignments. We demonstrate the practicality of this approach with the examples of in-place list-reversal and tree rotation.