Size-Change Termination and Bound Analysis
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.
KeywordsBasic Block Convex Polyhedron Abstract Interpretation Computation Path Polyhedral Cone
Unable to display preview. Download preview PDF.
- Avery, J., Schou, S.: Stopping C-Mix: PE-termination ensuring bindingtime division. Project at Roskilde Universitetscenter (2004)Google Scholar
- 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)Google Scholar
- 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
- 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)Google Scholar
- Khoo, S.-C., Anderson, H.: Bounded size-change termination (draft). School of Computing. National University of Singapore (2005)Google Scholar
- Podelski, A., Rybalchenko, A.: Transition predicate abstraction and fair termination. In: Principles of Programming Languages (POPL) (2005)Google Scholar