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

**Authors:** Joaquin Arias, Manuel Carro

arXiv: 1908.00104 · 2019-08-02

## TL;DR

This paper presents an adaptation of an abstract interpretation algorithm for logic programs using tabled constraint logic programming, resulting in simplified code and improved performance through semantic equivalence-based fixpoint detection.

## Contribution

The paper introduces a novel adaptation of the PLAI fixpoint algorithm that leverages tabling and semantic equivalence to enhance efficiency and simplify implementation.

## Key findings

- Improved performance in program analysis tasks.
- Simplified implementation reduces code size.
- Semantic equivalence enhances fixpoint detection accuracy.

## Abstract

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. This paper is under consideration for publication in Theory and Practice of Logic Programming (TPLP).

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1908.00104/full.md

## Figures

6 figures with captions in the complete paper: https://tomesphere.com/paper/1908.00104/full.md

## References

34 references — full list in the complete paper: https://tomesphere.com/paper/1908.00104/full.md

---
Source: https://tomesphere.com/paper/1908.00104