1 Department of Computer Science, Faculty of Science, Københavns Universitet2 Administration, Department of Computer Science, Faculty of Science, Københavns Universitet3 Administration, Department of Computer Science, Faculty of Science, Københavns Universitet
Despite its simplicity, the size-change termination principle, presented 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 http://esct.kvante.org), as well as for the ANSI C specializer C-Mix/ii, handling a subset of its internal language Core-C.
Lecture Notes in Computer Science, 2006, Vol 3945, p. 192-207