Satisfiability Modulo Extensional Constant Arrays (Extended Version)

📅 Unknown Date
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the inefficiency of existing SMT solvers in handling constant arrays with default initial values over finite index domains, a limitation that hinders their applicability in software and hardware verification. The paper presents the first complete decision procedure for the theory of constant arrays that supports arbitrary index domains, including finite ones, thereby overcoming prior restrictions to infinite domains or limited fragments. The approach is grounded in an abstract calculus that seamlessly integrates the semantics of extensional arrays and constant arrays, and it has been implemented within the Bitwuzla solver. Experimental evaluation demonstrates that the proposed technique substantially improves both solving efficiency and coverage on benchmarks involving arrays with default values.
📝 Abstract
Reasoning about array data structures is a key requirement for many applications in hardware and software verification, especially in combination with machine integers. The Satisfiability Modulo Theories (SMT) theory of extensional arrays provides array read and write operators and allows extensionality over arrays. This is sufficient to express many aspects of computer-aided verification, but lacks succinctness to efficiently deal with arrays that are initialized with a default value. Existing procedures for extending the SMT-LIB theory of arrays with support for constant arrays are limited to arrays with infinite index domains, and existing implementations in SMT solvers only support a fragment of the theory for finite index domains. In this paper, we present a novel decision procedure for the theory of arrays with constant arrays that supports arbitrary index domains and is not limited to the infinite case. We present our procedure as an abstract calculus and show its refutational and satisfiability soundness. We implement a decision procedure based on our calculus in the state-of-the-art SMT solver Bitwuzla and evaluate its performance on a diverse collection of benchmarks and use cases.
Problem

Research questions and friction points this paper is trying to address.

Satisfiability Modulo Theories
extensional arrays
constant arrays
finite index domains
array reasoning
Innovation

Methods, ideas, or system contributions that make the work stand out.

SMT
extensional arrays
constant arrays
decision procedure
finite index domains
🔎 Similar Papers