SAT-Based Termination Analysis Using Monotonicity Constraints over the Integers

Michael Codish, Igor Gonopolskiy, Amir Ben-Amram, Carsten Fuhs and Jürgen Giesl   

Theory and Practice of Logic Programming; 11 (4-5): 503--520, 2011


We describe an algorithm for proving termination of programs abstracted to systems of monotonicity constraints in the integer domain. Monotonicity constraints are a non-trivial extension of the well-known size-change termination method. While deciding termination for systems of monotonicity constraints is PSPACE complete, we focus on a well-defined and significant subset, which we call MCNP, designed to be amenable to a SAT-based solution. Our technique is based on the search for a special type of ranking function defined in terms of bounded differences between multisets of integer values. We describe the application of our approach as the back-end for the termination analysis of Java Bytecode (JBC). At the front-end, systems of monotonicity constraints are obtained by abstracting information, using two different termination analyzers: AProVE and Costa. Preliminary results reveal that our approach provides a good trade-off between precision and cost of analysis.

Available:    bibtex entry

Related sites:   available on arxiv

Michael Codish
The Department of Computer Science
Ben-Gurion University of the Negev
PoB 653, Beer-Sheva, 84105, Israel

© copyright notice