cTI: A Constraint-Based Termination Inference Tool for ISO-Prolog

TitlecTI: A Constraint-Based Termination Inference Tool for {ISO-Prolog}
Publication TypeJournal Article
Year of Publication2005
AuthorsMesnard F, Bagnara R
JournalTheory and Practice of Logic Programming
Volume5
Issue1&2
Pagination243–257
ISSN1471-0684
Keywordsabstract interpretation, logic programming, software verification, static analysis, termination analysis, termination inference
Abstract

We present cTI, the first system for universal left-termination inference of logic programs. Termination inference generalizes termination analysis and checking. Traditionally, a termination analyzer tries to prove that a given class of queries terminates. This class must be provided to the system, for instance by means of user annotations. Moreover, the analysis must be redone every time the class of queries of interest is updated. Termination inference, in contrast, requires neither user annotations nor recomputation. In this approach, terminating classes for all predicates are inferred at once. We describe the architecture of cTI and report an extensive experimental evaluation of the system covering many classical examples from the logic programming termination literature and several Prolog programs of respectable size and complexity.

DOI10.1017/S1471068404002017
Refereed DesignationRefereed
AttachmentSize
MesnardB05TPLP.pdf252.51 KB