Trustworthy Systems

Algebraic separation logic

Authors

Han-Hing Dang, Bernhard Möller and Peter Hoefner

Universitaet Augsburg

NICTA

Abstract

We present an algebraic approach to separation logic. In particular, we give an algebraic characterisation for assertions of separation logic, discuss different classes of assertions and prove abstract laws fully algebraically. After that, we use our algebraic framework to give a relational semantics of the commands of a simple programming language associated with separation logic. On this basis we prove the frame rule in an abstract and concise way. We also propose a more general version of separating conjunction which leads to a frame rule that is more general and easier to prove. For this we show how to algebraically formulate the requirement that a command preserves certain variables. The algebraic view does not only yield new insights on separation logic but also shortens proofs due to a point free representation. It is largely first-order and hence enables the use of off-the-shelf automated theorem provers for verifying properties at an abstract level.

BibTeX Entry

  @article{Dang_MH_11,
    author           = {Dang, Han-Hing and M\"oller, Bernhard and H\"ofner, Peter},
    doi              = {10.1016/j.jlap.2011.04.003},
    journal          = {The Journal of Logic and Algebraic Programming},
    keywords         = {separation logic; algebra},
    month            = jun,
    number           = {6},
    pages            = {221--247},
    paperurl         = {https://trustworthy.systems/publications/nicta_full_text/4802.pdf},
    title            = {Algebraic Separation Logic},
    volume           = {80},
    year             = {2011}
  }

Download