Search papers, labs, and topics across Lattice.
This paper introduces C2Btor, a novel method for encoding C program verification tasks into BTOR2 models, enabling the use of advanced hardware model checking techniques. By translating assertion-based C programs into transition systems compatible with BTOR2, C2Btor enhances the efficiency of counterexample search and inductive safety proving. The evaluation demonstrates that C2Btor outperforms the existing CBMC tool, solving 263 tasks—101 more than CBMC—particularly excelling in bit-vector benchmarks with a 75.5% success rate and no incorrect verdicts.
C2Btor outperforms traditional verification tools by leveraging hardware model checking, solving 101 more tasks than CBMC in a rigorous benchmark evaluation.
Program verification tools often rely on specific intermediate representations and analysis backends, limiting the reuse of verification algorithms and model checkers across frameworks. In contrast, hardware model checking has developed a mature backend ecosystem, where standard formats such as BTOR2 support reusable algorithms for counterexample search and inductive safety proving. Applying these capabilities to C requires translating assertion-based programs into transition systems that hardware model checkers can directly process. We present C2Btor, a method for encoding such verification tasks into BTOR2 models. C2Btor uses a program counter to capture control transfers, represents data states and memory objects with bit-vectors and arrays, and maps assumptions and assertion checks into BTOR2 constraints and bad-state properties. We evaluate C2Btor on SV-COMP C ReachSafety benchmarks and a curated assertion-category benchmark suite, comparing it with representative program verification tools. C2Btor correctly solves 263 tasks, 101 more than CBMC configured with bounded model checking, and is especially effective on bit-vector benchmarks, where it solves 75.5% of the tasks with no wrong verdicts. These results show that the BTOR2 route allows C program verification to benefit from advances in hardware model-checking backends, expanding the available capability for counterexample search, inductive safety proving, and word-level transition-system reasoning.