Size-Change Termination and Bound Analysis

  • James Avery
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3945)


Despite its simplicity, the size-change termination principle, presen- ted by Lee, Jones and Ben-Amram in [LJB01], is surprisingly strong and is able to show termination for a large class of programs. A significant limitation for its use, however, is the fact that the SCT requires data types to be well-founded, and that all mechanisms used to determine termination must involve decreases in these global, well-founded partial orders.

Following is an extension of the size-change principle that allows for non-well founded data types, and a realization of this principle for integer data types. The extended size-change principle is realized through combining abstract interpretation over the domain of convex polyhedra with the use of size-change graphs. In the cases when data types are well founded, the method handles every case that is handled by LJB size-change termination.

The method has been implemented in a subject language independent shared library, libesct (available at [Ave05a]), as well as for the ANSI C specializer C − MixII, handling a subset of its internal language Core-C.


Basic Block Convex Polyhedron Abstract Interpretation Computation Path Polyhedral Cone 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley Publishing Company, Reading (1975)MATHGoogle Scholar
  2. Avery, J., Schou, S.: Stopping C-Mix: PE-termination ensuring bindingtime division. Project at Roskilde Universitetscenter (2004)Google Scholar
  3. Avery, J.: ESCT - The Extended Size-Change Termination Library (November 2005),
  4. Avery, J.: Size-change termination and bound analysis for an imperative language with integer data types. Report at Datalogisk Instutut, Københavns Universitet, DIKU (July 2005)Google Scholar
  5. Ben-Amram, A., Lee, C.S.: A quadratic-time program termination analysis. Under preparation at MPI für Informatik, Saarbrücken, Germany (2004)Google Scholar
  6. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Conference Record of the Fifth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Tucson, Arizona, pp. 84–97. ACM Press, New York (1978)CrossRefGoogle Scholar
  7. Bagnara, R., et al.: The parma polyhedra library, 2000-2005. University of Parma,
  8. Glenstrup, A.J., Jones, N.D.: Termination analysis and specialization-point insertion in off-line partial evaluation. ACM Transactions on Programming Languages and Systems. Department of Computer Science, University of Copenhagen (2003) (preprint)Google Scholar
  9. Khoo, S.-C., Anderson, H.: Bounded size-change termination (draft). School of Computing. National University of Singapore (2005)Google Scholar
  10. Lee, C.S.: Program termination analysis in polynomial time. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, p. 218. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  11. Lee, C.S., Jones, N.D., BenAmram, A.M.: The size-change principle for program termination. ACM SIGPLAN Notices 36(3), 81–92 (2001)CrossRefMATHGoogle Scholar
  12. Podelski, A., Rybalchenko, A.: Transition predicate abstraction and fair termination. In: Principles of Programming Languages (POPL) (2005)Google Scholar
  13. Sipma, H., Colon, M.: Practical methods for proving program termination. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 442–454. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • James Avery
    • 1
  1. 1.Dep. of Computer ScienceUniversity of Copenhagen (DIKU)Denmark

Personalised recommendations