A separation logic for sequences in pointer programs and its decidability

01/16/2023
by   Tianyue Cao, et al.
0

Separation logic and its variants can describe various properties on pointer programs. However, when it comes to properties on sequences, one may find it hard to formalize. To deal with properties on variable-length sequences and multilevel data structures, we propose sequence-heap separation logic which integrates sequences into logical reasoning on heap-manipulated programs. Quantifiers over sequence variables and singleton heap storing sequence (sequence singleton heap) are new members in our logic. Further, we study the satisfiability problem of two fragments. The propositional fragment of sequence-heap separation logic is decidable, and the fragment with 2 alternations on program variables and 1 alternation on sequence variables is undecidable. In addition, we explore boundaries between decidable and undecidable fragments of the logic with prenex normal form.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/12/2018

The Effects of Adding Reachability Predicates in Propositional Separation Logic

The list segment predicate ls used in separation logic for verifying pro...
research
06/14/2022

Expressiveness within Sequence Datalog

Motivated by old and new applications, we investigate Datalog as a langu...
research
09/18/2023

Algebra of Self-Replication

Typical arguments for results like Kleene's Second Recursion Theorem and...
research
05/05/2022

Low-Level Bi-Abduction

The paper proposes a new static analysis designed to handle open program...
research
02/05/2018

Verifying Asymptotic Time Complexity of Imperative Programs in Isabelle

We present a framework in Isabelle for verifying asymptotic time complex...
research
09/19/2022

S2TD: a Separation Logic Verifier that Supports Reasoning of the Absence and Presence of Bugs

Heap-manipulating programs are known to be challenging to reason about. ...
research
04/03/2023

Lilac: A Modal Separation Logic for Conditional Probability

We present Lilac, a separation logic for reasoning about probabilistic p...

Please sign up or login with your details

Forgot password? Click here to reset