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 language||English GB|
|Title of host publication||Meta-Programming in Logic Programming|
|Subtitle of host publication||Workshop on Meta-Programming in Logic|
|Editors||Harvey Abramson, M. H. Rogers|
|Publisher||MIT Press Journals|
|Number of pages||29|
|State||Published - 1988|