Termination Analysis of Linear-Constraint Programs
By: Amir M. Ben-Amram , Samir Genaim , Joël Ouaknine and more
Potential Business Impact:
Helps computers know if programs will finish.
This Survey provides an overview of techniques in termination analysis for programs with numerical variables and transitions defined by linear constraints. This subarea of program analysis is challenging due to the existence of undecidable problems, and this Survey systematically explores approaches that mitigate this inherent difficulty. These include foundational decidability results, the use of ranking functions, and disjunctive well-founded transition invariants. The Survey also discusses non-termination witnesses, used to prove that a program will not halt. We examine the algorithmic and complexity aspects of these methods, showing how different approaches offer a trade-off between expressive power and computational complexity. The Survey does not discuss how termination analysis is performed on real-world programming languages, nor does it consider more expressive abstract models that include non-linear arithmetic, probabilistic choice, or term rewriting systems.
Similar Papers
Modelling Program Spaces in Program Synthesis with Constraints
Programming Languages
Finds good computer programs much faster.
Efficient Compilation of Algorithms into Compact Linear Programs
Programming Languages
Makes computer math problems much smaller.
Non-Termination Proving: 100 Million LoC and Beyond
Programming Languages
Finds hidden bugs in huge computer programs.