Using Safe Approximations of Fixed Points for Analysis of Logic Programs

Michael Codish, John P. Gallagher, Ehud Shapiro

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

In this paper we apply the result that when using abstract interpretation for program analysis, we do not necessarily need to compute an abstract least fixed point, or indeed any fixed point of the abstract semantic function. Any meaning which is a safe approximation of the least fixed point can give useful information. In particular, the sequence of meanings obtained by applying the semantic function iteratively to the top element of the domain yields safe approximations, since this sequence approaches the greatest fixed point from above. The framework of the technique is first defined, and its advantages and disadvantages discussed. Two applications of the technique for the parallel logic programming language Flat Concurrent Prolog (FCP) are presented. The mode analysis application is based on a collecting semantics for SLD derivations, and has been incorporated in a compiler for FCP. The suspension analysis application is the first attempt, to our knowledge, to apply abstract interpretation to analyse reactive aspects of a parallel programming language.
Original languageEnglish GB
Title of host publicationMeta-Programming in Logic Programming
Subtitle of host publicationWorkshop on Meta-Programming in Logic
EditorsHarvey Abramson, M. H. Rogers
PublisherMIT Press Journals
Pages233-261
Number of pages29
StatePublished - 1988

Fingerprint

Dive into the research topics of 'Using Safe Approximations of Fixed Points for Analysis of Logic Programs'. Together they form a unique fingerprint.

Cite this