A systematic approach to abstract interpretation of logic programs

University dissertation from Linköping : Univ

Abstract:

The notion of abstract interpretation facilitates a formalized process of approximating meanings of programs. Such approximations provide a basis for inferring properties of programs. After having been used mainly in the area of compiler optimization of traditional, imperative languages it has recently also attracted people working with declarative languages.This thesis provides a systematic framework for developing abstract interpretations of logic programs. The work consists of three major parts which together provide a basis for practical implementations of abstract interpretation techniques. Our starting point is a new semantic description of logic programs which extracts the set of all reachable internal states in a possibly infinite collection of SLD-derivations. This semantics is called the base interpretation. Computationally the base interpretation is of little interest since it is not, in general, effectively computable. The aim of the base interpretation is rather to facilitate construction of abstract interpretations which approximate it. The second part of this work provides systematic methods for constructing such abstract interpretations from the base interpretation. The last part of the thesis concerns efficient computing of approximate meanings of programs. We provide some simple but yet efficient algorithms for computing meanings of programs.

The thesis also provides a survey of earlier work done in the area of abstract interpretation of logic programs and contains a comparison between that work and the proposed solution.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.