A Complete Decision Procedure for Linearly Compositional Separation Logic with Data Constraints [chapter]

Xincai Gu, Taolue Chen, Zhilin Wu
2016 Lecture Notes in Computer Science  
Separation logic is a widely adopted formalism to verify programs manipulating dynamic data structures. Entailment checking of separation logic constitutes a crucial step for the verification of such programs. In general this problem is undecidable, hence only incomplete decision procedures are provided in most state-of-the-art tools. In this paper, we define a linearly compositional fragment of separation logic with inductive definitions, where traditional shape properties for linear data
more » ... tures, as well as data constraints, e.g., the sortedness property and size constraints, can be specified in a unified framework. We provide complete decision procedures for both the satisfiability and the entailment problem, which are in NP and Π P 3 respectively.
doi:10.1007/978-3-319-40229-1_36 fatcat:l5k4fiqt5fcp5bbdtnv7smw6mm