## Bottom-up abstract interpretation of logic programs (1994)

Venue: | Theoretical Computer Science |

Citations: | 56 - 16 self |

### BibTeX

@ARTICLE{Codish94bottom-upabstract,

author = {Michael Codish and Dennis Dams and Eyal Yardeni},

title = {Bottom-up abstract interpretation of logic programs},

journal = {Theoretical Computer Science},

year = {1994},

volume = {124}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract This paper presents a formal framework for the bottom-up abstract interpretation of logic programs which can be applied to approximate answer substitutions, partial an- swer substitutions and call patterns for a given program and arbitrary initial goal. The framework is based on a T P like semantics defined over a Herbrand universe with vari-ables which has previously been shown to determine the answer substitutions for arbitrary initial goals. The first part of the paper reconstructs this semantics to provide a more adequate basis for abstract interpretation. A notion of abstract substitution is introduced and shown to determine an abstract semantic function which for a given program can be applied to approximate the answer substitutions for an arbitrary initial goal.

### Citations

1880 |
Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ...from the previous section and can hence be used to approximate the set of answer substitutions for an arbitrary initial goal. We assume the standard framework of abstract interpretation as defined in =-=[10]-=- in terms of Galois insertions. Definition 4.1. Galois insertion [21] A Galois insertion is a quadruple (E ; ff; D; fl) where: 1. (E ; v E ) and (D; v D ) are complete lattices called concrete and abs... |

1855 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...s of partial answer substitutions and call patterns. Finally, Section 7 concludes. 2 Preliminaries In the following we assume familiarity with the standard definitions and notation for logic programs =-=[17]-=-. Throughout, \Sigma , \Pisand Var will respectively denote a set of function symbols, a set of predicate symbols and a denumerable set of variables. The non-ground term algebra over \Sigmasand Var is... |

298 |
Magic Sets and Other Strange Ways to Implement Logic Programs
- Bancilhon, Maier, et al.
- 1986
(Show Context)
Citation Context ... it maps the second clause (head) to the set ffxs 7! [x j ]g; fxs 7! [ ; x j ]g; fxs 7! [ ; ; x j ]g; : : :g : The function ans [[P]] con maps the goal member(1,[2,3]) to ;; it maps the goal member(1,=-=[1,2,3]-=-) to ffflg and it maps the goal member(x,[1,2,3]) to the set ffx 7! 1g; fx 7! 2g; fx 7! 3gg : 2 A " " denotes an anonymous variable. 6s4 Abstract Semantics This section defines a framework for the bot... |

244 | On the power of magic
- Beeri, Ramakrishnan
- 1987
(Show Context)
Citation Context ... can be approximated by approximating the answer substitutions of the augmented program. A similar approach is applied to approximate the call patterns of a logic program. We use the Magic Set method =-=[5, 7]-=- to transform a program with initial goal so that the answer substitutions of the transformed program correspond to the call patterns of the original pro- gram. We demonstrate this technique for both ... |

218 |
OLD resolution with tabulation
- Tamaki, Sato
- 1986
(Show Context)
Citation Context ... and Ramakrishnan [11] and by Ramakrishnan [26]. Furthermore, the conjecture made in Sec- tion 6.2 concerning completeness of the modified Magic Set transformation has recently been proven by Steiner =-=[31]-=-. Acknowledgements We acknowledge Moreno Falaschi, Rob Gerth and Giorgio Levi for their helpful comments. Kim Marriott suggested to us the idea of applying the Magic Set method. Example 13 is due to J... |

194 |
A practical framework for the abstract interpretation of logic programs
- Bruynooghe
- 1991
(Show Context)
Citation Context ...rogram are used in refutations of a query. It is no coincidence that in most cases practical abstract interpretations of logic programs approx- imate top-down semantics based on SLD resolution (e.g., =-=[6]-=-). The information concerning control and textual details of a program are more naturally recovered (and collected) from such semantics. In this paper we have first introduced a bottom-up semantics (b... |

117 | Magic templates: a spellbinding approach to logic programs
- Ramakrishnan
- 1991
(Show Context)
Citation Context ...s that pre-encoding of variables can be applied to extend these results for non-ground instances. However, as demonstrated in Example 13 (below), completeness does not always hold. Also Ramakrishnan (=-=[25]-=-) considers a non-ground case, however, the proof is lacking. 21s(b) if P is a pure logic program and oe is a partial answer substitution for a', then oe 2 ans [[P M G ]] con (a P '). The other direct... |

114 | Declarative modeling of the operational behavior of logic languages - Falaschi, Levi, et al. - 1989 |

94 | A finite presentation theorem for approximating logic programs
- Heintze, Jaffar
- 1990
(Show Context)
Citation Context ... by the program. An abstraction of the T P function will typically provide an approximation of a program's (ground) success patterns and hence provide the basis for applications such as type analysis =-=[15, 33]-=-. In a top-down semantics, the meaning of a program usually associates with an initial goal the set of answer substitutions for that goal. The semantics is usually based on some form of SLD resolution... |

74 | A General Framework for Semantics-Based Bottom-Up Abstract Interpretation of Logic Programs
- Barbuti, Giacobazzi, et al.
- 1993
(Show Context)
Citation Context ...-ground atoms which is shown to determine the set of answer substitutions for an arbitrary initial goal. This semantics provides the basis for the bottom-up analysis of logic programs as described in =-=[3, 4, 8, 16]-=-. In this paper we reconstruct the semantics defined in [13] to provide a more natural basis for abstract interpretations which are determined by a notion of abstract substitutions. The resulting fram... |

74 |
E.: A type system for logic programs
- Yardeni, Shapiro
- 1990
(Show Context)
Citation Context ... by the program. An abstraction of the T P function will typically provide an approximation of a program's (ground) success patterns and hence provide the basis for applications such as type analysis =-=[15, 33]-=-. In a top-down semantics, the meaning of a program usually associates with an initial goal the set of answer substitutions for that goal. The semantics is usually based on some form of SLD resolution... |

73 |
H.: Bottom-up abstract interpretation of logic programs
- Marriott, Søndergaard
- 1988
(Show Context)
Citation Context ...t interpretation may lead to different approaches to analysis of programs in that language. For logic programs we distinguish between two main approaches: "bottom-up analysis" and "top-down analysis" =-=[18]-=-. The first is based on a bottom-up semantics such as the standard T P semantics, the latter on a top-down semantics such as the SLD semantics. The meaning of a logic program P in the standard T P sem... |

72 |
Abstract Interpretation of Prolog Programs
- Mellish
- 1987
(Show Context)
Citation Context ...ay arise in computations. Such information determines how each clause in the program might be called and hence provides the basis for program specialization. A typical example is mode analysis (e.g., =-=[20]-=-). Abstractions of the T P semantics are often not useful for program analysis as they describe only ground instances of atoms. In addition, they are not useful for analysing concurrent logic programs... |

70 |
A model-theoretic reconstruction of the operational semantics of logic programs
- Falaschi, Levi, et al.
- 1993
(Show Context)
Citation Context ... G iff there exists ` 0 2 ans [[P]] con (G) such that G` , G` 0 . Proof. Follows directly from the observation that atoms([[P ]] con ) = lfp(S P ) and the strong soundness and completeness results of =-=[14]-=-. 2 Example 1. Let P be the program 2 : member(x,[x--xs]). member(x,[.--xs]) :- member(x,xs). [[P ]] con maps the first clause (head) to the set ffflg (taking n = 0 in Definition 3.5); it maps the sec... |

55 |
Query evaluation in recursive databases: bottom-up and top-down reconciled
- Bry
- 1990
(Show Context)
Citation Context ... can be approximated by approximating the answer substitutions of the augmented program. A similar approach is applied to approximate the call patterns of a logic program. We use the Magic Set method =-=[5, 7]-=- to transform a program with initial goal so that the answer substitutions of the transformed program correspond to the call patterns of the original pro- gram. We demonstrate this technique for both ... |

52 | Functional computations in logic programs
- Debray
- 1989
(Show Context)
Citation Context ...ion for abstract interpretation (see Theorem 6.7) has not been previously published. Since the submission of this paper, similar results have been reported by Nilsson [24], by Debray and Ramakrishnan =-=[11]-=- and by Ramakrishnan [26]. Furthermore, the conjecture made in Sec- tion 6.2 concerning completeness of the modified Magic Set transformation has recently been proven by Steiner [31]. Acknowledgements... |

44 |
The Alexander method: A technique for the processing of recursive axioms in deductive databases
- Rohmer, Lescoeur, et al.
- 1986
(Show Context)
Citation Context ...transform a logic program so that the bottom-up evaluation of the transformed program corresponds to the operational (top-down) behaviour of the original program. The Magic Set and Alexander methods (=-=[5, 1, 27]-=-) are such techniques, which appeared first in the context of deductive databases. Bry shows in [7] that both collecting semantics like OLDT and these transformation methods are instances of the same ... |

42 |
On the power of Alexander templates
- Seki
- 1989
(Show Context)
Citation Context ...n. The fact that P G has no answer substitutions (note that it has no facts) is reflected by the fact that atoms([[P M G ]] con ) does not contain atoms of the form p A or q A . It has been proven in =-=[7, 5, 29]-=- that the Magic Set and Alexander methods are sound and complete proof procedures for ground instances of calls and answers of sequential logic programs: for every atom a in the Herbrand interpretatio... |

34 |
Suspension analysis for concurrent logic programs
- Codish, Falaschi, et al.
- 1994
(Show Context)
Citation Context ...itutions. Example 2. identity It is straightforward to show that taking (ASub; v ASub ) = (2 Sub ; `) and _ff = _fl = id provides a domain of abstract substitutions. 7sExample 3. dependency relations =-=[9]-=- A relation R over a lattice X is additive if (x R x 0 ^ y R y 0 ) ) (x t y) R (x 0 t y 0 ). A dependency relation is an additive equivalence relation (reflexive, symmetric and transitive) over 2 Var ... |

33 | Semantics-based dataflow analysis of logic programs
- Marriott, Søndergaard
- 1989
(Show Context)
Citation Context ...tic domain and an abstract semantic function. This follows the spirit of the denotational approach to abstract interpretation defined by Nielson [23] and advocated by Marriott and So/ndergaard (e.g., =-=[19]-=-). The abstract meaning of a program is a mapping which associates an abstract substitution with each clause head. This mapping is shown to approximate the concrete semantics from the previous section... |

28 | Modelling Prolog control, in
- Barbuti, Codish, et al.
- 1992
(Show Context)
Citation Context ...ffflg (taking n = 0 in Definition 3.5); it maps the second clause (head) to the set ffxs 7! [x j ]g; fxs 7! [ ; x j ]g; fxs 7! [ ; ; x j ]g; : : :g : The function ans [[P]] con maps the goal member(1,=-=[2,3]-=-) to ;; it maps the goal member(1,[1,2,3]) to ffflg and it maps the goal member(x,[1,2,3]) to the set ffx 7! 1g; fx 7! 2g; fx 7! 3gg : 2 A " " denotes an anonymous variable. 6s4 Abstract Semantics Thi... |

28 |
Galois connections and computer science applications, in: D.H. Pitt et al
- Melton, Schmidt, et al.
- 1986
(Show Context)
Citation Context ...t of answer substitutions for an arbitrary initial goal. We assume the standard framework of abstract interpretation as defined in [10] in terms of Galois insertions. Definition 4.1. Galois insertion =-=[21]-=- A Galois insertion is a quadruple (E ; ff; D; fl) where: 1. (E ; v E ) and (D; v D ) are complete lattices called concrete and abstract domains respectively; 2. ff : E ! D and fl : D ! E are monotoni... |

19 | Determination of Variable Dependence Information Through Abstract Interpretation
- Muthukumar, Hermenegildo
- 1989
(Show Context)
Citation Context ... infer that it is uninstantiated. A similar argument holds for the call qs(w ; w 1) so that we may derive that the calls qs(v ; v 1) and qs(w ; w 1) are "independent" (and can be executed in parallel =-=[22]-=-). 7 Conclusions We have presented a formal framework for the bottom-up abstraction of sequential and con- current logic programs which is suitable for analysing answer substitutions, partial answer s... |

18 |
Strictness analysis and denotational abstract interpretation
- Nielson
- 1988
(Show Context)
Citation Context ...bstitution is then shown to determine an abstract semantic domain and an abstract semantic function. This follows the spirit of the denotational approach to abstract interpretation defined by Nielson =-=[23]-=- and advocated by Marriott and So/ndergaard (e.g., [19]). The abstract meaning of a program is a mapping which associates an abstract substitution with each clause head. This mapping is shown to appro... |

16 |
Compiling exploratory and goaldirected deduction into sloppy delta iteration
- Schmidt, Kiessling, et al.
- 1987
(Show Context)
Citation Context ...N , each iteration of F A P may involve O(2 (N +1)logN ) abstract unifications as explained below. Although there exist more efficient ways to compute the least fixed point of a function (e.g., as in =-=[28]-=- where recomputing the results of previous iterations is avoided), the complexity of an analysis based on the evaluation of lfp(F A P ) is inherently exponential and hence not practical. In this secti... |

14 |
Abstract interpretation: A kind of magic
- Nilsson
- 1991
(Show Context)
Citation Context ...fety of the Magic Set transformation for abstract interpretation (see Theorem 6.7) has not been previously published. Since the submission of this paper, similar results have been reported by Nilsson =-=[24]-=-, by Debray and Ramakrishnan [11] and by Ramakrishnan [26]. Furthermore, the conjecture made in Sec- tion 6.2 concerning completeness of the modified Magic Set transformation has recently been proven ... |

12 |
An Algebraic Framework for the Abstract Interpretation of Logic Programs
- Kemp, Ringwood
- 1990
(Show Context)
Citation Context ...-ground atoms which is shown to determine the set of answer substitutions for an arbitrary initial goal. This semantics provides the basis for the bottom-up analysis of logic programs as described in =-=[3, 4, 8, 16]-=-. In this paper we reconstruct the semantics defined in [13] to provide a more natural basis for abstract interpretations which are determined by a notion of abstract substitutions. The resulting fram... |

8 |
Finite failure and partial computations in concurrent logic languages
- Falaschi, Levi
- 1990
(Show Context)
Citation Context ... partial computations of the initial goal, regardless if these computations eventually succeed, fail or diverge. This extension turns out to be especially simple given the result of Falaschi and Levi =-=[12]-=- which demonstrates how to augment a program by adding to it a set of unit clauses so that the answer substitutions of the augmented program are precisely the partial answer substitutions of the origi... |

5 |
A Declarative Approach to Abstract Interpretation of Logic Programs
- Barbuti, Giacobazzi, et al.
- 1989
(Show Context)
Citation Context ...-ground atoms which is shown to determine the set of answer substitutions for an arbitrary initial goal. This semantics provides the basis for the bottom-up analysis of logic programs as described in =-=[3, 4, 8, 16]-=-. In this paper we reconstruct the semantics defined in [13] to provide a more natural basis for abstract interpretations which are determined by a notion of abstract substitutions. The resulting fram... |

4 |
Abstract unification and a bottom-up analysis to detect aliasing in logic programs
- CODISH, DAMS, et al.
- 1990
(Show Context)
Citation Context |

1 |
Semantic based analysis and transformation of logic programs
- Sondergaard
- 1990
(Show Context)
Citation Context ... this section, shows that [[P ]] abs indeed approximates the concrete semantics. Theorem 4.9. safety For any logic program P , [[P ]] con v fl([[P ]] abs ). Proof. The theorem is implied by (see e.g. =-=[30]-=-) 8 g2AInt F P (fl(g)) v fl(F A P (g)) which is equivalent, applying the definitions of F P , F A P , v Int and fl, to showing that for all g 2 AInt and h 2 Atom: 2 6 4 h \Deltas[ 8 ? ! ? : \Thetasfi ... |