Efficient tests for top-down termination of logical rules
Journal of the ACM (JACM)
Deriving descriptions of possible values of program variables by means of abstract interpretation
Journal of Logic Programming
ESOP'92 Symposium proceedings on 4th European symposium on programming
Automatic inference of norms: a missing link in automatic termination analysis
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
A methodology for granularity-based control of parallelism in logic programs
Journal of Symbolic Computation - Special issue on parallel symbolic computation
Constraint-based termination analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Binding-Time Annotations Without Binding-Time Analysis
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
A Framework for Analysis of Typed Logic Programs
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Combining Norms to Prove Termination
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
Pos(T): Analyzing Dependencies in Typed Logic Programs
PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
Mode Analysis Domains for Typed Logic Programs
LOPSTR'99 Selected papers from the 9th International Workshop on Logic Programming Synthesis and Transformation
A Model for Inter-module Analysis and Optimizing Compilation
LOPSTR '00 Selected Papers form the 10th International Workshop on Logic Based Program Synthesis and Transformation
Inferring Argument Size Relationships with CLP(R)
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Typed Norms for Typed Logic Programs
LOPSTR '96 Proceedings of the 6th International Workshop on Logic Programming Synthesis and Transformation
Applying Static Analysis Techniques for Inferring Termination Conditions of Logic Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Binding-time analysis by constraint solving a modular and higher-order approach for mercury
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
Combining Norms to Prove Termination
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
Reuse of Results in Termination Analysis of Typed Logic Programs
SAS '02 Proceedings of the 9th International Symposium on Static Analysis
Termination of Floating-Point Computations
Journal of Automated Reasoning
Termination analysis of logic programs through combination of type-based norms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Fully automatic binding-time analysis for prolog
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Inference of well-typings for logic programs with application to termination analysis
SAS'05 Proceedings of the 12th international conference on Static Analysis
Hi-index | 0.00 |
Proofs of termination typically proceed by mapping program states to a well founded domain and showing that successive states of the computation are mapped to elements decreasing in size. Automated termination analysers for logic programs achieve this by measuring and comparing the sizes of successive calls to recursive predicates. The size of the call is measured by a level mapping that in turn is based on a norm on the arguments of the call. A norm maps a term to a natural number. The choice of the norm is crucial for the ability to prove termination. For some programs a fairly complex norm is required. The automated selection of an appropriate norm is a missing link in this research domain and is addressed in this paper. Our proposal is to use the type of a predicate to generate a number of simple norms and to try them in turn for proving the termination of the predicate. Given a term of a certain type, we consider a norm for each of its subtypes, a norm that counts the number of subterms of the term that are of the considered subtype.