Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays
Not on the map. Why?
Abstract (arXiv)
We present a compositional SMT-based algorithm for safety of procedural C programs that takes the heap into consideration as well. Existing SMT-based approaches are either largely restricted to handling linear arithmetic operations and properties, or are non-compositional. We use Constrained Horn Clauses (CHCs) to represent the verification conditions where the memory operations are modeled using the extensional theory of arrays (ARR). First, we describe an exponential time quantifier elimination (QE) algorithm for ARR which can introduce new quantifiers of the index and value sorts. Second, we adapt the QE algorithm to efficiently obtain under-approximations using models, resulting in a polynomial time Model Based Projection (MBP) algorithm. Third, we integrate the MBP algorithm into the framework of compositional reasoning of procedural programs using may and must summaries recently proposed by us. Our solutions to the CHCs are currently restricted to quantifier-free formulas. Finally, we describe our practical experience over SV-COMP'15 benchmarks using an implementation in the tool SPACER.
Key facts. Cited by 3 papers in the map (data through 14 Oct 2026). First posted on arXiv 6 Aug 2015.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 0; 2023: 0; 2024: 0; 2025: 0; 2026: 1.
3 papers.
- 2021The Horn Non-Clausal Class and its Polynomialitycited by 2
- 2021The Possibilistic Horn Non-Clausal Knowledge Basescited by 0
- 2026Verification Modulo Tested Library Contractscited by 0
- 2026Verification Modulo Tested Library Contracts16 Apr 2026
- 2021The Possibilistic Horn Non-Clausal Knowledge Bases15 Nov 2021
- 2021The Horn Non-Clausal Class and its Polynomiality31 Aug 2021