Affiliation:
1. IREMIA, Université de La Réunion, France
Abstract
We present a static analysis technique for nontermination inference of logic programs. Our framework relies on an extension of the subsumption test, where some specific argument positions can be instantiated while others are generalized. We give syntactic criteria to statically identify such argument positions from the text of a program. Atomic left looping queries are generated bottom-up from selected subsets of the binary unfoldings of the program of interest. We propose a set of correct algorithms for automating the approach. Then, nontermination inference is tailored to attempt proofs of optimality of left termination conditions computed by a termination inference tool. An experimental evaluation is reported and the analyzers can be tried online at http://www.univ-reunion.fr/~gcc. When termination and nontermination analysis produce complementary results for a logic procedure, then with respect to the leftmost selection rule and the language used to describe sets of atomic queries, each analysis is optimal and together, they induce a
characterization
of the operational behavior of the logic procedure.
Publisher
Association for Computing Machinery (ACM)
Reference35 articles.
1. Apt K. R. and Pedreschi D. 1994. Modular termination proofs for logic and pure Prolog programs. In Advances in Logic Programming Theory G. Levi Ed. Oxford University Press 183--229.]] Apt K. R. and Pedreschi D. 1994. Modular termination proofs for logic and pure Prolog programs. In Advances in Logic Programming Theory G. Levi Ed. Oxford University Press 183--229.]]
2. Loop checking in partial deduction
3. An analysis of loop checking mechanisms for logic programs
Cited by
17 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Non-termination in Term Rewriting and Logic Programming;Journal of Automated Reasoning;2024-02-02
2. Tools in Term Rewriting for Education;Electronic Proceedings in Theoretical Computer Science;2020-02-28
3. A devil's advocate against termination of direct recursion;Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming;2015-07-14
4. Proving Nontermination via Safety;Tools and Algorithms for the Construction and Analysis of Systems;2014
5. Terminyzer: An Automatic Non-termination Analyzer for Large Logic Programs;Practical Aspects of Declarative Languages;2013