Size-Change termination and bound analysis

  • Authors:
  • James Avery

  • Affiliations:
  • Dep. of Computer Science, University of Copenhagen (DIKU)

  • Venue:
  • FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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.