Evaluation of the Implementation of an Abstract Interpretation Algorithm using Tabled CLP

CiaoPP is an analyzer and optimizer for logic programs, part of the Ciao Prolog system. It includes PLAI, a fixpoint algorithm for the abstract interpretation of logic programs which we adapt to use tabled constraint logic programming. In this adaptation, the tabling engine drives the fixpoint compu...

Full description

Saved in:
Bibliographic Details
Published inTheory and practice of logic programming Vol. 19; no. 5-6; pp. 1107 - 1123
Main Authors ARIAS, JOAQUÍN, CARRO, MANUEL
Format Journal Article
LanguageEnglish
Published Cambridge, UK Cambridge University Press 01.09.2019
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:CiaoPP is an analyzer and optimizer for logic programs, part of the Ciao Prolog system. It includes PLAI, a fixpoint algorithm for the abstract interpretation of logic programs which we adapt to use tabled constraint logic programming. In this adaptation, the tabling engine drives the fixpoint computation, while the constraint solver handles the LUB of the abstract substitutions of different clauses. That simplifies the code and improves performance, since termination, dependencies, and some crucial operations (e.g., branch switching and resumption) are directly handled by the tabling engine. Determining whether the fixpoint has been reached uses semantic equivalence, which can decide that two syntactically different abstract substitutions represent the same element in the abstract domain. Therefore, the tabling analyzer can reuse answers in more cases than an analyzer using syntactical equality. This helps achieve better performance, even taking into account the additional cost associated to these checks. Our implementation is based on the TCLP framework available in Ciao Prolog and is one-third the size of the initial fixpoint implementation in CiaoPP. Its performance has been evaluated by analyzing several programs using different abstract domains.
ISSN:1471-0684
1475-3081
DOI:10.1017/S1471068419000383