LOCLJan 16, 2023

A separation logic for sequences in pointer programs and its decidability

arXiv:2301.06237v1h-index: 11
Originality Incremental advance
AI Analysis

This work addresses a specific limitation in separation logic for verifying pointer programs with sequences, making it incremental for the formal methods community.

The authors tackled the problem of formalizing properties on sequences in pointer programs by proposing sequence-heap separation logic, which integrates sequences into heap reasoning, and they found that the propositional fragment is decidable while a fragment with specific quantifier alternations is undecidable.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes