In the context of standard abstract interpretation theory, we define and study a systematic operator of reduced relative power for composing functionally abstract domains. The reduced relative power of two abstract domains D1 (the exponent) and D2 (the base) consists in a suitably defined lattice of monotone functions from D1 to D2, called dependencies, and it is a generalization of the Cousot and Cousot operator of reduced (cardinal) power. The relationship between the reduced relative power and Nielson's tensor product is also investigated. The case of autodependencies (when base and exponent are the same domain) turns out to be particularly interesting: Under certain hypotheses, the domain of autodependencies corresponds to a suitable powerset-like completion of the base abstract domain, providing a compact lattice-theoretic representation for autodependencies. The usefulness of the reduced relative power is shown by a number of applications to abstract domains used both for program analysis and for semantics design. Notably, we prove that the domain Def for logic program ground-dependency analysis can be characterized as autodependencies of a standard more abstract domain representing plain groundness only, and we show how to exploit reduced relative power to systematically derive compositional logic program semantics.
|
1309
|
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
– Cousot, Cousot
- 1977
|
|
744
|
Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams
– Bryant
- 1992
|
|
625
|
The semantics of predicate logic as a programming language
– Emden, Kowalski
- 1976
|
|
450
|
Systematic design of program analysis frameworks
– Cousot, Cousot
- 1979
|
|
397
|
Introduction to Logic Programming
– Apt
- 1988
|
|
255
|
Abstract interpretation and application to logic programs
– Cousot, Cousot
- 1992
|
|
253
|
Semantics foundations of concurrent constraint programming
– Saraswat, Rinard, et al.
- 1991
|
|
218
|
Unification revisited
– Lassez, Maher, et al.
- 1987
|
|
195
|
Concurrent constraint programming languages
– Saraswat
- 1989
|
|
145
|
An introduction to inductive definitions
– Aczel
- 1977
|
|
115
|
The s-semantics approach: Theory and applications
– Bossi, Gabbrielli, et al.
- 1994
|
|
114
|
Declarative Modeling of the Operational Behavior of Logic Languages
– Falaschi, Levi, et al.
- 1989
|
|
86
|
Inductive Definitions, Semantics and Abstract Interpretation
– Cousot, Cousot
- 1992
|
|
85
|
A Semantics-Based Framework for the Abstract Interpretation of Prolog
– Jones, Sondergaard
- 1987
|
|
84
|
Predicate logic as a computational formalism
– Clark
- 1979
|
|
80
|
Quantales, observational logic and process semantics
– Abramsky, Vickers
- 1993
|
|
76
|
Equivalences of logic programs
– Maher
- 1988
|
|
75
|
A Compositional Semantics for Logic Programs
– Bossi, Gabbrielli, et al.
- 1994
|
|
74
|
Laws of programming
– Hoare, Spivey, et al.
- 1987
|
|
70
|
Combined Determination of Sharing and Freeness of Program Variables Through Abstract Interpretation
– Muthukumar, Hermenegildo
- 1991
|
|
62
|
Combinations of abstract domains for logic programming
– Cortesi, Charlier, et al.
- 1994
|
|
58
|
Two classes of Boolean functions for dependency analysis. Science of Computer Programming
– Armstrong, Marriott, et al.
- 1998
|
|
51
|
Higher-order abstract interpretation (and application to comportment analysis generalizing strictness, termination, projection and PER analysis of functional languages), invited paper
– Cousot, Cousot
- 1994
|
|
51
|
Precise and Efficient Groundness Analysis for Logic Programs
– Marriott, Sndergaard
- 1993
|
|
46
|
Fully Abstract Compositional Semantics for Logic Programs
– Gaifman, Shapiro
- 1989
|
|
44
|
Quantales and their applications
– Rosenthal
- 1990
|
|
42
|
Improving abstract interpretations by combining domains
– Codish, Mulkers, et al.
- 1995
|
|
39
|
A unifying view of abstract domain design
– Fil'e, Giacobazzi, et al.
- 1996
|
|
35
|
Complementation in abstract interpretation
– Cortesi, Fil'e, et al.
- 1997
|
|
35
|
On derived dependencies and connected databases
– Dart
- 1991
|
|
34
|
Two-level semantics and abstract interpretation
– Nielson
- 1989
|
|
29
|
An algebraic theory of observables
– Comini, Levi
- 1994
|
|
26
|
Complexity of flow analysis, inductive assertion synthesis, and a language due to Dijkstra
– Jones, Muchnick
- 1981
|
|
26
|
The closure operators of a lattice
– Ward
- 1942
|
|
25
|
Lattice Theory. AMS Colloquium Publication, 3rd edition. AMS
– Birkhoff
- 1967
|
|
25
|
Optimal" collecting semantics for analysis in a hierarchy of logic program semantics
– Giacobazzi
- 1996
|
|
20
|
Disjunctive strictness analysis
– Jensen
- 1992
|
|
17
|
Improving Abstract Interpretations by Systematic Lifting to the Powerset
– Fil'e, Ranzato
- 1994
|
|
17
|
Refining and compressing abstract domains
– Giacobazzi, Ranzato
- 1997
|
|
17
|
Some results on the closure operators of partially ordered sets
– Morgado
- 1960
|
|
16
|
Compositionality of SLD-derivations and their abstractions
– Comini, Levi, et al.
- 1995
|
|
15
|
Fully abstract compositional semantics for an algebra of logic programs
– Brogi, Turini
- 1995
|
|
15
|
Functional dependencies and Moore-set completions of abstract interpretations and semantics
– Giacobazzi, Ranzato
- 1995
|
|
15
|
Tensor products generalize the relational data flow analysis method
– Nielson
- 1985
|
|
15
|
An abstract interpretation scheme for groundness, freeness, and sharing analysis of logic programs
– Sundararajan, Conery
- 1992
|
|
14
|
A resultants semantics for PROLOG
– Gabbrielli, Levi, et al.
- 1994
|
|
14
|
Abstract Interpretation Using Domain Theory
– Nielson
- 1984
|
|
13
|
Optimal domains for disjunctive abstract interpretation
– Giacobazzi, Ranzato
- 1998
|
|
12
|
General Lattice Theory. Birkhäuser
– Grätzer
- 2003
|
|
12
|
Note on complemented closure operators of complete lattices
– Morgado
- 1962
|