Automating Separation Logic with Trees and Data
Authors: Ruzica Piskac, Thomas Wies and Damien Zufferey
Paper Information
| Title: | Automating Separation Logic with Trees and Data |
| Authors: | Ruzica Piskac, Thomas Wies and Damien Zufferey |
| Proceedings: | CAV 2014 LNCS Proceedings |
| Editors: | Armin Biere, Swen Jacobs and Roderick Bloem |
| Keywords: | deductive verification, heap structures, shape analysis, decision procedures, satisfiability modulo theories |
| Abstract: | 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. |
| Pages: | 17 |
| Talk: | Jul 22 12:25 |
| Paper: | ![]() |
