Compositional Analysis of Modular Logic Programs
Michael Codish Saumya K. Debray
Roberto Giacobazzi
Abstract
This paper describes a semantic basis for a compositional approach
to the analysis of logic programs. A logic program is viewed as
consisting of a set of modules, each module defining a subset of the
program's predicates. Analyses are constructed by considering
abstract interpretations of a compositional semantics. The abstract
meaning of a module corresponds to its analysis and composition of
abstract meanings corresponds to composition of analyses. Such an
approach is essential for large program development so that altering
one module does not require re-analysis of the entire program. A
compositional analysis for ground dependencies is included to
illustrate the approach. To the best of our knowledge this is the
first account of a compositional framework for the analysis of
(logic) programs.