Automating Separation Logic with Trees and Data

The work

AuthorsRuzica Piskac; Thomas Wies; Damien Zufferey
Typeinproceedings
Year2014
Also known aspiska2014automating
Citekeypiskac2014automating

Where it appeared

Published inComputer Aided Verification
PublisherSpringer
SeriesLecture Notes in Computer Science
Number in series8559
Pages711--728

Abstract

Separation logic (SL) is a widely used formalism for verifying heap manipulating programs. Existing SL solvers focus on decidable fragments for list-like structures. More complex data structures such as trees are typically unsupported in implementations, or handled by incomplete heuristics. While complete decision procedures for reasoning about trees have been proposed, these procedures suffer from high complexity, or make global assumptions about the heap that contradict the separation logic philosophy of local reasoning. In this paper, we present a fragment of classical first-order logic for local reasoning about tree-like data structures. The logic is decidable in NP and the decision procedure allows for combinations with other decidable first-order theories for reasoning about data. Such extensions are essential for proving functional correctness properties. We have implemented our decision procedure and, building on earlier work on translating SL proof obligations into classical logic, integrated it into an SL-based verification tool. We successfully used the tool to verify functional correctness of tree-based data structure implementations.

A copy is held

pdf, 368.8 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via openalex
Added2026-08-04 00:00 UTC
Approved bya person 2026-08-28 21:27 UTC

Cite it as

@inproceedings{piskac2014automating,
  title        = {Automating Separation Logic with Trees and Data},
  author       = {Ruzica Piskac and Thomas Wies and Damien Zufferey},
  year         = {2014},
  booktitle    = {Computer Aided Verification},
  pages        = {711--728},
  publisher    = {Springer},
  series       = {Lecture Notes in Computer Science},
  doi          = {10.1007/978-3-319-08867-9_47},
}

This record lives at https://refs.drheap.org/piskac2014automating/ and will keep doing so. It used to be called piska2014automating, and those addresses still resolve to this one.