Meta-circular abstract interpretation in prolog

    Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

    11 Scopus citations

    Abstract

    We give an introduction to the meta-circular approach to the abstract interpretation of logic programs. This approach is particularly useful for prototyping and for introductory classes on abstract interpretation. Using interpreters, students can immediately write, adapt, and experiment with interpreters and working dataflow analysers. We use a simple meta-circular interpreter, based on a "non-ground TP" semantics, as a generic analysis engine. Instantiating the engine is a matter of providing an appropriate domain of approximations, together with definitions of "abstract" unification and disjunction. Small changes of the interpreter let us vary both what can be "observed" by an analyser, and how fixed point computation is done. Amongst the dataflow analyses used to exemplify this approach are a parity analysis, groundness dependency analysis, call patterns, depth-k analysis, and a "pattern" analysis to establish most specific generalisations of calls and success sets.

    Original languageEnglish
    Title of host publicationThe Essence of Computation
    Subtitle of host publicationComplexity, Analysis, Transformation
    PublisherSpringer Verlag
    Pages109-134
    Number of pages26
    ISBN (Print)9783540003267
    DOIs
    StatePublished - 1 Jan 2002

    Publication series

    NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
    Volume2566 LNCS
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    ASJC Scopus subject areas

    • Theoretical Computer Science
    • General Computer Science

    Fingerprint

    Dive into the research topics of 'Meta-circular abstract interpretation in prolog'. Together they form a unique fingerprint.

    Cite this