Semantics-based programanalysis for logic-based languages using XSB

Michael Codish, Bart Demoen, Konstantinos Sagonas

Research output: Contribution to journalArticlepeer-review

12 Scopus citations

Abstract

This article describes a simple and efficient way of using a logic programming language with builtin tabulation for general purpose semantics-based program analysis. The simplicity of the method is based on a clear separation of abstraction and control: conceptually, a concrete program is executed over an abstract domain and the tabulation mechanism avoids recomputation, ensures termination and collects the results of the analysis. The efficiency derives from the fact that an abstract interpreter induces an abstract compiler which maps input programs to corresponding abstract programs which are (compiled and) run in XSB [43]. The design of new analyses is an easy and fast process, because XSB is a general purpose logic programming system which supports efficient fix-point computations through tabling implemented at the abstract machine level and comes off the shelf: in fact, due to its optimized control and superior tabling performance, our approach using XSB competitively compares with most of the existing special purpose abstract interpretation tools for logic programs. We demonstrate that our approach to using XSB for abstract interpretation supports the usual techniques and optimizations of other frameworks in a straightforward and flexible way.

Original languageEnglish
Pages (from-to)29-45
Number of pages17
JournalInternational Journal on Software Tools for Technology Transfer
Volume2
Issue number1
DOIs
StatePublished - 1 Dec 1998

Keywords

  • Logic programming language analysis
  • Semantics-based program analysis
  • XSB

Fingerprint

Dive into the research topics of 'Semantics-based programanalysis for logic-based languages using XSB'. Together they form a unique fingerprint.

Cite this