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 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  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