🤖 AI Summary
This work addresses the challenge of efficiently synthesizing best inductive invariants (BIIs) for verifying bit-vector programs, a task where existing methods struggle with scalability. The paper presents the first formulation of the BII synthesis problem as a quantified constrained optimization problem within first-order logic, and introduces two efficient algorithms: a lattice-structure-guided strategic linear search and a greedy bit-wise solving strategy that processes bits from most to least significant. These approaches reduce the number of solver invocations to a linear dependency on bit-width, substantially improving scalability. Experimental evaluation on standard benchmarks demonstrates that the proposed method solves 86% more instances than baseline techniques, with particularly pronounced gains on high-bit-width problems.
📝 Abstract
Synthesizing best inductive invariants (BII) is fundamental to program analysis and verification, yet existing approaches face significant efficiency challenges. We introduce a new formulation for the problem through the lens of mathematical optimization over quantified constraints in first-order theories. The formulation offers a constructive and operational perspective on the BII problem and opens new algorithmic avenues. Building on this formulation, we present two new algorithms for bit-vector programs: a strategically guided linear search that exploits the lattice structure and a bitwise greedy approach that resolves bound bits from high to low with a solver-call count linear in bit-width. We evaluate our approach on a comprehensive benchmark suite, demonstrating significant performance improvements over conventional methods based on symbolic abstraction and chaotic iteration. Experimental results demonstrate our approach solves up to 86\% more benchmarks than baseline methods, with improved scaling in solver-call count for high bit-widths and improved verification effectiveness when integrated with k-induction.