Model Checking Embedded C Software using k-Induction and Invariants (extended version)
Herbert Rocha, Hussama Ismail, Lucas Cordeiro, Raimundo Barreto

TL;DR
This paper introduces a k-induction based model checking method for embedded C software, combining invariants and affine constraints to verify safety properties in bounded and unbounded loops, improving effectiveness over existing methods.
Contribution
The paper presents a novel k-induction algorithm that integrates invariant inference with affine constraints for more effective embedded software verification.
Findings
Handles a wide variety of safety properties
Improves verification effectiveness compared to other approaches
Applicable to telecommunications, control systems, and medical devices
Abstract
We present a proof by induction algorithm, which combines k-induction with invariants to model check embedded C software with bounded and unbounded loops. The k-induction algorithm consists of three cases: in the base case, we aim to find a counterexample with up to k loop unwindings; in the forward condition, we check whether loops have been fully unrolled and that the safety property P holds in all states reachable within k unwindings; and in the inductive step, we check that whenever P holds for k unwindings, it also holds after the next unwinding of the system. For each step of the k-induction algorithm, we infer invariants using affine constraints (i.e., polyhedral) to specify pre- and post-conditions. Experimental results show that our approach can handle a wide variety of safety properties in typical embedded software applications from telecommunications, control systems, and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRadiation Effects in Electronics · Formal Methods in Verification · Real-time simulation and control systems
