arXiv · 2608.07397
Circuit-Based Program Verification: Sequential Circuits as an Intermediate Representation for Verifying C Programs
Abstract
Formal verification of software programs and hardware designs shares the common goal of reasoning about state-transition systems, yet the two communities have largely developed separate intermediate representations and verification algorithms. This paper investigates sequential circuits as an intermediate representation for software verification, with the goal of enabling direct application of hardware-model-checking techniques. We present Circuit-Based Program Verification (CPV), a modular framework that translates C programs into sequential circuits and employs off-the-shelf hardware model checkers as backends. Unlike traditional software verifiers, which typically rely on path-based exploration, CPV reasons over sequential circuits, where a program's control and data flows are folded into a monolithic transition relation that can be analyzed as a whole. The framework supports reachability-safety and termination analyses and integrates multiple state-of-the-art hardware model checkers, which together provide access to diverse verification algorithms, including bounded model checking, $k$-induction, and IC3/PDR. Counterexamples found by hardware model checkers are automatically translated back into software-verification witnesses for users to interpret verification results. We conducted a comprehensive evaluation on a benchmark suite of more than 16000 tasks. Our results show that CPV achieved competitive performance against five well-established software verifiers and exhibited complementary strengths by uniquely solving tasks that other verifiers cannot handle.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Po-Chun Chien, Nian-Ze Lee, Armin Biere, Dirk Beyer. 2026-08-07. Circuit-Based Program Verification: Sequential Circuits as an Intermediate Representation for Verifying C Programs. https://arxiv.org/abs/2608.07397
Cite the original work for its findings. Save a collection to share your selection of sources.