SAT-based termination analysis using monotonicity constraints over the integers

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

Research output: Contribution to journalArticlepeer-review

7 Scopus citations


We describe an algorithm for proving termination of programs abstracted to systems of monotonicity constraints in the integer domain. Monotonicity constraints are a nontrivial 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 (for "monotonicity constraints in NP"), 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. 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.

Original languageEnglish
Pages (from-to)503-520
Number of pages18
JournalTheory and Practice of Logic Programming
Issue number4-5
StatePublished - 1 Jul 2011


  • SAT encoding
  • monotonicity constraints
  • termination analysis

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics
  • Artificial Intelligence


Dive into the research topics of 'SAT-based termination analysis using monotonicity constraints over the integers'. Together they form a unique fingerprint.

Cite this