Size-Change Termination Analysis in k-Bits
Size-change termination analysis is a simple and powerful technique successfully applied for a variety of programming paradigms. A main advantage is that termination for size-change graphs is decidable and based on simple linear ranking functions. A main disadvantage is that the size-change termination problem is PSPACE-complete. Proving size change termination may have to consider exponentially many size change graphs. This paper is concerned with the representation of large sets of size-change graphs. The approach is constraint based and the novelty is that sets of size-change graphs are represented as disjunctions of size-change constraints. A constraint solver to facilitate size-change termination analysis is obtained by interpreting size-change constraints over a sufficiently large but finite non-negative integer domain. A Boolean k-bit modeling of size change graphs using binary decision diagrams leads to a concise representation. Experimental evaluation indicates that the 2-bit representation facilitates an efficient implementation which is guaranteed complete for our entire benchmark suite.
KeywordsBoolean Function Size Change Ranking Function Benchmark Suite Strong Connected Component
- 1.Ben-Amram, A.M., Lee, C.S.: Size-change termination in polynomial time. submitted for publication (2004)Google Scholar
- 9.Taboch, C., Genaim, S., Codish, M.: Terminweb: Semantic based termination analyser for logic programs (1999-2002), http://www.cs.bgu.ac.il/~mcodish/TerminWeb
- 10.Wielemaker, J.: An overview of the SWI-Prolog programming environment. In: Mesnard, F., Serebenik, A. (eds.) Proceedings of the 13th International Workshop on Logic Programming Environments, Heverlee, Belgium, pp. 1–16 (December 2003) (Katholieke Universiteit Leuven. CW 371)Google Scholar