🤖 AI Summary
This work addresses the challenges in Constraint Horn Clause (CHC) solving—specifically, the difficulty of modeling bit-vector and low-level semantics, and the limited expressiveness of existing CHC solvers. We propose a compositional CHC solving framework that leverages mature software verifiers (e.g., SeaHorn, Ultimate) as backend engines. The framework features a unified CHC intermediate representation, semantics-aware preprocessing supporting bit-vectors and nonlinear arithmetic, and a multi-strategy orchestration mechanism to synergize complementary strengths across tools. Its key contribution is the first systematic adaptation of industrial-grade software verification technology to CHC solving, overcoming inherent limitations of conventional SMT-based and abstract-interpretation approaches in modeling low-level program semantics. Experimental evaluation on bit-vector CHC benchmarks demonstrates significant improvements in both solving rate and efficiency, empirically validating the feasibility and effectiveness of using general-purpose software verifiers as CHC backends.
📝 Abstract
Constrained Horn Clauses (CHCs) are widely adopted as intermediate representations for a variety of verification tasks, including safety checking, invariant synthesis, and interprocedural analysis. This paper introduces CHCVERIF, a portfolio-based CHC solver that adopts a software verification approach for solving CHCs. This approach enables us to reuse mature software verification tools to tackle CHC benchmarks, particularly those involving bitvectors and low-level semantics. Our evaluation shows that while the method enjoys only moderate success with linear integer arithmetic, it achieves modest success on bitvector benchmarks. Moreover, our results demonstrate the viability and potential of using software verification tools as backends for CHC solving, particularly when supported by a carefully constructed portfolio.