Size-Change Termination Analysis in k-Bits

  • Michael Codish
  • Vitaly Lagoon
  • Peter Schachte
  • Peter J. Stuckey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3924)


Size-change termination analysis is a simple and powerful technique successfully applied for a variety of programming paradigms. A main advantage is that termination for size-change graphs is decidable and based on simple linear ranking functions. A main disadvantage is that the size-change termination problem is PSPACE-complete. Proving size change termination may have to consider exponentially many size change graphs. This paper is concerned with the representation of large sets of size-change graphs. The approach is constraint based and the novelty is that sets of size-change graphs are represented as disjunctions of size-change constraints. A constraint solver to facilitate size-change termination analysis is obtained by interpreting size-change constraints over a sufficiently large but finite non-negative integer domain. A Boolean k-bit modeling of size change graphs using binary decision diagrams leads to a concise representation. Experimental evaluation indicates that the 2-bit representation facilitates an efficient implementation which is guaranteed complete for our entire benchmark suite.


Boolean Function Size Change Ranking Function Benchmark Suite Strong Connected Component 


  1. 1.
    Ben-Amram, A.M., Lee, C.S.: Size-change termination in polynomial time. submitted for publication (2004)Google Scholar
  2. 2.
    Bryant, R.: Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys 24(3), 293–318 (1992)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Codish, M., Lagoon, V., Stuckey, P.J.: Testing for termination with monotonicity constraints. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 326–340. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Codish, M., Taboch, C.: A semantic basis for the termination analysis of logic programs. The Journal of Logic Programming 41(1), 103–123 (1999)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
  6. 6.
    Hawkins, P., Lagoon, V., Stuckey, P.J.: Solving set constraint satisfaction problems using ROBDD’s. Journal of Artificial Intelligence Research 24, 106–156 (2005)MATHGoogle Scholar
  7. 7.
    Jaffar, J., Michaylov, S., Stuckey, P.J., Yap, R.H.C.: The CLP(R) language and system. ACM TOPLAS 14(3), 339–395 (1992)CrossRefGoogle Scholar
  8. 8.
    Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. ACM SIGPLAN Notices 36(3), 81–92 (2001); Proceedings of POPL 2001CrossRefMATHGoogle Scholar
  9. 9.
    Taboch, C., Genaim, S., Codish, M.: Terminweb: Semantic based termination analyser for logic programs (1999-2002),
  10. 10.
    Wielemaker, J.: An overview of the SWI-Prolog programming environment. In: Mesnard, F., Serebenik, A. (eds.) Proceedings of the 13th International Workshop on Logic Programming Environments, Heverlee, Belgium, pp. 1–16 (December 2003) (Katholieke Universiteit Leuven. CW 371)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michael Codish
    • 1
  • Vitaly Lagoon
    • 2
  • Peter Schachte
    • 2
  • Peter J. Stuckey
    • 2
    • 3
  1. 1.Department of Computer ScienceBen-Gurion UniversityIsrael
  2. 2.Department of Computer Science and Software EngineeringThe University of MelbourneAustralia
  3. 3.NICTA Victoria LaboratoryAustralia

Personalised recommendations