Non-Termination Inference of Logic Programs
Etienne Payet, Fred Mesnard

TL;DR
This paper introduces a static analysis method for inferring non-termination in logic programs, extending subsumption tests and identifying specific argument positions to improve understanding of program behavior.
Contribution
It presents a novel static analysis framework that extends subsumption tests and automates non-termination inference for logic programs.
Findings
The approach effectively identifies non-terminating logic queries.
Experimental results show the method's accuracy and complementarity with termination analysis.
Algorithms automate the non-termination inference process.
Abstract
We present a static analysis technique for non-termination 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, non-termination inference is tailored to attempt proofs of optimality of left termination conditions computed by a termination inference tool. An experimental evaluation is reported. When termination and non-termination analysis produce complementary results for a logic procedure, then with respect to the leftmost selection rule and the language used to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Logic, programming, and type systems · Formal Methods in Verification
