A shallow dive into the depths of non-termination checking for C programs
Ravindra Metta, Hrishikesh Karmarkar, Kumar Madhukar, R Venkatesh,, Supratik Chakraborty, Samarjit Chakraborty

TL;DR
This paper introduces a sound and efficient method for non-termination checking in C programs that encodes the property as assertions within loops and uses bounded model checking, outperforming existing tools on real-world benchmarks.
Contribution
It presents a novel approach that encodes non-termination as assertions and employs iterative unwinding with bounded model checking for improved accuracy and efficiency.
Findings
Outperforms state-of-the-art NT checkers on diverse benchmarks.
Effective on real-world software with overflows and complex behaviors.
Provides a sound method with practical applicability.
Abstract
Checking for Non-Termination (NT) of a given program P, i.e., determining if P has at least one non-terminating run, is an undecidable problem that continues to garner significant research attention. While unintended NT is common in real-world software development, even the best-performing tools for NT checking are often ineffective on real-world programs and sometimes incorrect due to unrealistic assumptions such as absence of overflows. To address this, we propose a sound and efficient technique for NT checking that is also effective on realworld software. Given P, we encode the NT property as an assertion inside each loop of P to check for recurrent states in that loop, up to a fixed unwinding depth, using a Bounded Model Checker. The unwinding depth is increased iteratively until either NT is found or a predefined limit is reached. Our experiments on wide ranging software benchmarks…
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
TopicsParallel Computing and Optimization Techniques · Software Reliability and Analysis Research · Radiation Effects in Electronics
