Unrestricted Termination and Non-Termination Arguments for Bit-Vector Programs
Cristina David, Daniel Kroening, Matt Lewis

TL;DR
This paper introduces a novel termination analysis method that generates nonlinear ranking functions and recurrence sets, applicable to fixed-width machine and floating-point arithmetic, overcoming limitations of linear approaches.
Contribution
It presents a new approach using second-order logic reduction to handle nonlinear termination arguments for finite-state programs.
Findings
Sound and complete for fixed-width integers
Applicable to IEEE floating-point arithmetic
Handles nonlinear and lexicographic ranking functions
Abstract
Proving program termination is typically done by finding a well-founded ranking function for the program states. Existing termination provers typically find ranking functions using either linear algebra or templates. As such they are often restricted to finding linear ranking functions over mathematical integers. This class of functions is insufficient for proving termination of many terminating programs, and furthermore a termination argument for a program operating on mathematical integers does not always lead to a termination argument for the same program operating on fixed-width machine integers. We propose a termination analysis able to generate nonlinear, lexicographic ranking functions and nonlinear recurrence sets that are correct for fixed-width machine arithmetic and floating-point arithmetic Our technique is based on a reduction from program \emph{termination} to second-order…
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
TopicsLogic, programming, and type systems · Formal Methods in Verification · Computability, Logic, AI Algorithms
