Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley Publishing Company, Reading (1975)
Avery, J., Schou, S.: Stopping C-Mix: PE-termination ensuring bindingtime division. Project at Roskilde Universitetscenter (2004)
Avery, J.: ESCT - The Extended Size-Change Termination Library (November 2005), http://esct.kvante.org
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)
Ben-Amram, A., Lee, C.S.: A quadratic-time program termination analysis. Under preparation at MPI für Informatik, Saarbrücken, Germany (2004)
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)
Bagnara, R., et al.: The parma polyhedra library, 2000-2005. University of Parma, http://www.cs.unipr.it/ppl/
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)
Khoo, S.-C., Anderson, H.: Bounded size-change termination (draft). School of Computing. National University of Singapore (2005)
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)
Lee, C.S., Jones, N.D., BenAmram, A.M.: The size-change principle for program termination. ACM SIGPLAN Notices 36(3), 81–92 (2001)
Podelski, A., Rybalchenko, A.: Transition predicate abstraction and fair termination. In: Principles of Programming Languages (POPL) (2005)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Avery, J. (2006). Size-Change Termination and Bound Analysis. In: Hagiya, M., Wadler, P. (eds) Functional and Logic Programming. FLOPS 2006. Lecture Notes in Computer Science, vol 3945. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11737414_14
Download citation
DOI: https://doi.org/10.1007/11737414_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33438-5
Online ISBN: 978-3-540-33439-2
eBook Packages: Computer ScienceComputer Science (R0)