program analysis

A Fresh Look at Best Inductive Loop Invariant Synthesis for Bit-Vector Relations

arXiv:2607.26386

summary

The paper proposes a new optimization-based formulation for synthesizing best inductive invariants in bit‑vector programs and introduces two algorithms—a guided linear search and a bitwise greedy method—that significantly improve verification performance.

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.

Topics & keywords

#inductive invariant synthesis#bit-vector verification#formal methods#optimization#solver algorithmsbest inductive invariantquantified constraintslinear searchbitwise greedyk-inductionsolver-call count