From logic programming to Prolog
From logic programming to Prolog
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Output-constraint specialization
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Termination Analysis for Mercury
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Size-Change termination and bound analysis
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
A general weighted grammar library
CIAA'04 Proceedings of the 9th international conference on Implementation and Application of Automata
Termination analysis of business process workflows
Proceedings of the 5th International Workshop on Enhanced Web Service Technologies
Hi-index | 0.00 |
Abstract The size-change principle devised by Lee, Jones and Ben-Amram, provides an effective method of determining program termination for recursive functions. It relies on a regular approximation to the call structure of the program, operates only over variables whose "size" is well-founded, and ignores the conditionals and return values in the program. The main contribution of our paper is twofold: firstly we improve size-change termination analysis by using better regular approximations to program flow, and secondly we extend the analysis beyond the original well-founded variables to include integer variables. In addition, we pay attention to program conditionals that are expressed by linear constraints and support the analysis of functions in which the return values are relevant to termination. Our analysis is entirely mechanical, exploits the decidability and expressive power of affine constraints and extends the set of programs that are size-change terminating.