Biabduction (and Related Problems) in Array Separation Logic
James Brotherston, Nikos Gorogiannis, Max Kanovich

TL;DR
This paper studies array separation logic (ASL), focusing on the biabduction problem crucial for automatic specification inference, providing an NP decision procedure and analyzing the complexity of related problems.
Contribution
It introduces an NP decision procedure for biabduction in ASL and analyzes the complexity of satisfiability and entailment in this logic.
Findings
Biabduction in ASL is NP-complete.
Satisfiability in ASL is NP-complete.
Entailment in ASL is decidable with high complexity.
Abstract
We investigate array separation logic (ASL), a variant of symbolic-heap separation logic in which the data structures are either pointers or arrays, i.e., contiguous blocks of allocated memory. This logic provides a language for compositional memory safety proofs of imperative array programs. We focus on the biabduction problem for this logic, which has been established as the key to automatic specification inference at the industrial scale. We present an NP decision procedure for biabduction in ASL that produces solutions of reasonable quality, and we also show that the problem of finding a consistent solution is NP-hard. Along the way, we study satisfiability and entailment in our logic, giving decision procedures and complexity bounds for both problems. We show satisfiability to be NP-complete, and entailment to be decidable with high complexity. The somewhat surprising fact that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
