| M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Theoretical Computer Science, 124, 1994. |
....set of descriptions of the concrete computations which depends on the particular property analyzed. For the case of logic programs, concrete observables can be expressed by (infinite sets of) substitutions and their abstraction is provided by the standard approaches to logic program analysis ([8, 3, 6, 12]) The second one is a finite description of sequences of atoms. Indeed, even if the set of abstract substitutions is finite, the abstract version of the compositional fixpoint semantics may introduce arbitrary large clauses in the abstract semantics, so that the analysis may not terminate. In [9] ....
....databases. 4.1 Compositional Analysis over Finite Domains It is well known that modularity helps in reducing the complexity of designing and proving correctness of programs and provides an easy approach to develop adaptable software. However, most of the already existing frameworks for analysis ([8, 3, 6, 12]) require the entire program to be available at the time of analysis. This approach is often unpractical for large programs or for software developed by teams, either because the resource requirements are prohibitively high, or because not all program components are available at the same time for ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science, The Weizmann Institute, Rehovot, 1990. To appear in Theoretical Computer Science.
....(clauses) to initial states (goals) with the inference of a result. In logic programming, this deductive approach to program analysis is usually based on abstract unfolding (i.e. replacement abstract unification) and it is shared by most of the frameworks proposed in the literature (e.g. see [3, 6, 7, 8, 14, 29]) A similar deductive method is also applied by Codish et al. 8] in compositional analysis in presence of modules. Compositional abstract interpretation is essential for large program development so that altering one module does not require re analysis of the entire program. A logic program is ....
....both P gl and P lg , when composed with P sort , produce (only) ground bindings for the first and second argument of sort. 6.2 Call patterns Abductive analysis can be used in conjunction with call pattern information. This is achieved by applying the same Magic Sets transformation M suggested in [7]. Recall that for a program P and goal G , oe 2 C is a call pattern for a predicate p in P [fGg iff there exists an SLD derivation from G to bjG with computed constraint oe and where pred(b) fpg. Let P be a program and G be the goal A 1 ; A n . It is well known that call patterns ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Theoretical Computer Science, 124(1):93--126, 1994.
....constructions in constraint logic programming. In particular we will focus on computed answer constraint semantics and abstraction. Our framework is therefore suitable to analyze successful computations and call patterns (the latter case can be obtained with a magic like transformation as in [15]) of constraint logic programs. The algebraic approach we take to constraint interpretation makes it easy to identify a suitable set of operators that can be instantiated in different ways to obtain both standard and non standard interpretations, relying on some simple axioms to ensure that ....
....form constraint systems, we require additional (and orthogonal) conditions than simple correctness for semantic operators. Correctness is obviously necessary to get sound approximations in abstract interpretation (most frameworks for static analysis of logic programs require only correctness [5, 11, 15]) so apparently our approach may result a simple restriction of the standard abstract interpretation theory (at the current state of the art , some analyses like freeness are not directly definable as constraint systems) However, lot of interesting semantic properties of analysis (e.g. the ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Theoretical Computer Science, 124(1):93--126, 1994.
.... evaluation of constraint logic programs, showing a new research area in the application of the CLP scheme for databases in the framework of constraint query languages [KKR95] Moreover, the bottom up evaluation has been used in the context of semantic based program analysis (for instance [BGL93, CDY94] Deductive databases have also been studied in a functional programming context (PFL [RPS99] FDL [PS93] enjoying the three following advantages, ease of reasoning: the reasoning can be used to transform queries into a more ecient form or to prove that transactions preserve consistency ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. TCS, 124(1):93-125, 1994.
....has been formalized in [21, 20] in the framework of imperative languages, and has later been adopted for the analysis of functional and logic programming languages. There is a large body of work in static analysis of Logic Programming based on abstract interpretation and partial evaluation [8, 17, 18, 19, 38, 37, 39]. Some of the techniques used here, such as the encoding of computations via an and or tree [15] or the approximation of these computations using lattice theoretic notions, are common to these approaches, especially those based on top down analysis [23, 24, 34] However, the work presented here ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Theoretical Computer Science, 124, 1994.
....be applied to CLP programs. An initial attempt is [17] Clearly memoization is pointless if there are no subsequent calls which are instances. We can detect this situation by applying a magic sets transformation to the original CLP program P so that P magic computes the calling patterns in P [11, 7], and then applying the subsumption analysis to P magic . If P magic is subsumption free by the analysis above then no call is an instance of another, and memoization can be omitted. 9.1.3 Program Correctness In [1] a declarative approach to showing strongest postcondition assertions in ....
M. Codish, D. Dams, E. Yardeni, Bottom-Up Abstract Interpretation of Logic Programs, Theoretical Computer Science 124, 93--125, 1994.
....[17] this is not the case of the classical van Emden and Kowalski s semantics which is correct wrt successful derivations only. The need for a formal semantics correct wrt ca gave rise to several new definitions and was recognized especially in the case of semantics based abstract interpretation [32, 3, 11] and program transformation [25, 6] where also less abstract observables (such as partial computed answers) have sometimes to be modeled [11] In addition to the problem of modeling observational equivalences, there exists an important property which does not hold in the least Herbrand model ....
.... semantics correct wrt ca gave rise to several new definitions and was recognized especially in the case of semantics based abstract interpretation [32, 3, 11] and program transformation [25, 6] where also less abstract observables (such as partial computed answers) have sometimes to be modeled [11]. In addition to the problem of modeling observational equivalences, there exists an important property which does not hold in the least Herbrand model semantics, i.e. compositionality wrt union of programs. A semantics is compositional wrt a (syntactic) program composition operator ffi when the ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science, The Weizmann Institute, Rehovot, 1990. To appear in Theoretical Computer Science. 34
....constructions in constraint logic programming. In particular we will focus on computed answer constraint semantics and abstraction. Our framework is therefore suitable to analyze successful computations and call patterns (the latter case can be obtained with a magic like transformation as in [15]) of constraint logic programs. The algebraic approach we take to constraint interpretation makes it easy to identify a suitable set of operators that can be instantiated in different ways to obtain both standard and non standard interpretations, relying on some simple axioms to ensure that ....
....form constraint systems, we require additional (and orthogonal) conditions than simple correctness for semantic operators. Correctness is obviously necessary to get sound approximations in abstract interpretation (most frameworks for static analysis of logic programs require only correctness [5, 11, 15]) so apparently our approach may result a simple restriction of the standard abstract interpretation theory (at the current state of the art , some analyses like freeness are not directly definable as constraint systems) However, lot of interesting semantic properties of analysis (e.g. the ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Theoretical Computer Science, 124(1):93--126, 1994.
....D abs , rather than the concrete domain of computation D conc . A concretization function conc : D abs Gamma D conc maps each abstract domain element to the concrete domain element it describes. Abstract interpretation of Horn programs has been studied by various researchers (see, for example, [4, 9, 10, 25, 26, 27, 29]) Given the structural relationships between the abstract and concrete domains, the notion of Omega in D abs can be derived without much trouble from the notion of instance in D conc . For example, one plausible definition is the following: given elements s and t in D abs , s is an instance of ....
M. Codish, D. Dams and E. Yardeni, "Bottom-up Abstract Interpretation of Logic Programs", Technical Report CS90-24, Dept. of Applied Mathematics and Computer Science, The Weizmann Institute of Science, Rehovot, Israel, Oct. 1990.
....(clauses) to initial states (goals) with the inference of a result. In logic programming, this deductive approach to program analysis is usually based on abstract unfolding (i.e. replacement abstract unification) and it is shared by most of the frameworks proposed in the literature (e.g. see [3, 6, 7, 8, 13, 28]) A similar deductive method is also applied by Codish et al. 8] in compositional analysis in presence of modules. Compositional abstract interpretation is essential for large program development so that altering one module does not require re analysis of the entire program. A logic program is ....
....P gl and P lg , when composed with P sort , produce (only) ground bindings for the first and second argument of sort. 21 6.2 Call patterns Abductive analysis can be used in conjunction with call pattern information. This is achieved by applying the same Magic Sets transformation M suggested in [7]. Recall that for a program P and goal G , oe 2 C is a call pattern for a predicate p in P [fGg iff there exists an SLD derivation from G to bjG 0 with computed constraint oe and where pred(b) fpg. Let P be a program and G be the goal A 1 ; A n . The magic set transformed program M(P ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Theoretical Computer Science, 124(1):93--126, 1994.
....the opposite direction with respect to the Selective Linear resolution for Definite clauses (SLD) refutation. This process corresponds precisely to the least fixpoint computation of the standard T P operator as introduced by van Emden and Kowalski in [10] This approach has been considered in [2] [3], 8] as a basis for bottom up dataflow analysis of logic programs. It usually provides an approximation of success patterns by evaluating an abstract version of T P over a (possibly simpler) abstract domain. In this paper we first provide a two phase abstract interpretation introduced in [11] ....
....OR process when we can know from the analysis that the OR process will fail. We assume the backward execution algorithm in [24] V. RELATED WORKS AND DISCUSSION 1. Related Works There are several general frameworks for bottom up semantics based abstract interpretations of logic programs [2] [3], 8] The frameworks in [2] 3] are based on the concrete semantics in [13] which defines a bottom up semantics over a domain of non ground Herbrand interpretations. We extend the bottom up abstract interpretation framework in [2] so as to approximate possibly non ground success patterns of ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams and E. Yardeni., "Bottom-up abstract interpretation of logic programs," to appear in Theoretical Computer Science. 46 Byeong-Mo Chang, Kwang-Moo Choe and R. Giacobazzi ETRI Journal, volume 16, number 4, January 1995
No context found.
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93-125, (1994).
....cases practical abstract interpretations of logic programs approximate top down semantics based on SLD resolution (e.g. 9] The information concerning control and textual details of a program are more naturally recovered (and collected) from such semantics. An alternative approach is taken in [10] and further pursued in this paper. Instead of enhancing the semantic basis for analysis to capture control the program itself is enhanced so that its standard meaning reflects the required control. The key idea is to enhance a program P by a transformation M so that the standard meaning of M ....
....M so that the standard meaning of M (P) reflects the control information required for the analysis of P . So for example, the declarative meaning of a logic program P enhanced by a magic set transformation [4] is shown to reflect the call patterns of P enabling bottom up analysis (e.g.[5, 10, 20]) The approach of modelling control has two main advantages: 1) the standard se mantics is not required to be extended to a collecting semantics; and (2) any of the alternative semantic definitions for a language are potential choices as a basis for analysis. In this paper we apply the idea of ....
M. Codish, D. Dams, and E. Yardeni. Bottomup Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science, The Weizmann Institute, Rehovot, 1990. Submitted for publication.
....constructed by using a size relation as in [25] for terms or by defining a degree for substitutions as in [17] 4 , and is further based on the finiteness of the set of possible annotations for abstract variables. Consequently, when AEqs j, is used in a framework of abstract interpretation (e.g. [3, 4, 8, 15, 22, 28]) a terminating analysis is guaranteed. Example 2.2 Let AEqs 1 V = hfX = f(Y )g; i and AEqs 2 V = hfX = A 1 ; Y = A 2 g; ffA 1 ; A 2 ggi with V = fX; Y g, then AEqs 1 V AEqs 2 V and AEqs 2 V 6 AEqs 1 V . On the other hand, let AEqs 1 V 0 = hfX = f(Y )g; i and AEqs 2 V ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Theoretical Computer Science, 124(1):93--126, Feb. 1994.
....the state of the art of these tools is continuously advancing. In addition to some adhoc techniques for speci c program analyses (such as for example those described in [17, 29, 9] several generic frameworks have also emerged. In particular, we mention the bottom up frameworks described in [37, 4, 15] as well as the top down approach described in [8] The latter has led to the implementation of GAIA [35] and PLAI [12, 40] which have evolved into analysis systems with good performance incorporating various optimizations. These systems are interpreter based in the sense that a given (concrete) ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Theoretical Computer Science, 124(1):93-125, Feb. 1994.
....leading to a conceptually simple and elegant treatment. This semantics is attractive for abstract interpretation purposes, since it can be seen as a generalization of the approach of Falaschi et al. 17] which provides the semantic basis for abstract interpretations such as those discussed in [2, 6]. The use of clauses as semantic objects leads to interesting technical complications for abstract interpretation, in that there are two independent dimensions along which we might need finite descriptions in the abstract domain, namely, finite descriptions of sets of substitutions (the usual ....
....s and sets of constraints Theta 1 ; Theta 2 2 C, Theta 1 (s) Theta 2 (s) implies fl A ff A Theta 1 (s) fl A ff A Theta 2 (s) The condition of Definition 4.1 requires that fl A ffi ff A preserves renamings. Similar conditions on abstract atoms and on abstract substitutions are assumed in [2, 6]. 4 Example 4.1 The domain Pos was first proposed by Marriott and Sndergaard as a domain of abstract substitutions for groundness analysis [1] The domain is formalized as a Galois insertion denoted ( Sub) ff Pos ; Pos; fl Pos ) and consists of equivalence classes of positive propositional ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Theoretical Computer Science, 124(1):93--126, 1994.
....cases practical abstract interpretations of logic programs approximate top down semantics based on SLD resolution (e.g. 10] The information concerning control and textual details of a program are more naturally recovered (and collected) from such semantics. An alternative approach is taken in [11] and further pursued in this paper. Instead of enhancing the semantic basis for analysis to capture control the program itself is enhanced so that its standard meaning reflects the required control. The key idea is to enhance a program P by a transformation M so that the standard meaning of M ....
....M so that the standard meaning of M (P) reflects the control information required for the analysis of P . So for example, the declarative meaning of a logic program P enhanced by a magic set transformation [4] is shown to reflect the call patterns of P enabling bottom up analysis (e.g. [7, 11, 24]) The approach of modelling control has two main advantages: 1) the standard semantics is not required to be extended to a collecting semantics; and (2) any of the alternative semantic definitions for a language are potential choices as a basis for analysis. In this paper we apply the idea of ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science, The Weizmann Institute, Rehovot, 1990. To appear in Theoretical Computer Science.
....of an initial goal. However transformation techniques such as the magic set method (e.g. 1] can be applied to capture call patterns using bottom up semantics. These techniques, originally developed to optimize database applications have proven useful in the context of program analysis (see [6] for a list of references) The basic idea is that, for a given program P and goal G , the meaning of the transformed program magic(P ; G) reflects both calls and answers for G and P . We apply a novel technique to provide efficient implementation of analyses based on magic set transformations. ....
....which enables us to reason also about answer substitutions for arbitrary goals. A natural choice is the s semantics described in [19] which is defined in terms of a non ground TP operator denoted here T V P . The s semantics has proven useful in the context of program analysis (see for example [2, 6]) due to the fact that it constitutes an appropriate bridge between the declarative concept of minimal model and the operational notion of answer substitutions. In the s semantics the meaning of a program P is a set of facts, often referred to as the non ground minimal model of P . Its ground ....
[Article contains additional citation context not shown here]
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93--125, 1994.
....non ground atoms from the set BV . TP (I) h fi fi fi fi fi C j h b1 ; bn 2 P; ha1 ; ani C I; mgu(hb1 ; bni; ha1 ; an i) 1) As a basis for designing program analyses, the s semantics has proven particularly useful (see for example [5] and [13]) This is due to the fact that on the one hand, it captures both declarative as well as operational properties, and on the other hand because of the mathematical simplicity of its definition. An important advantage of using a non ground semantics is that the meaning of a program fragment is ....
....derive a description of the (output) types in the corresponding success patterns. This is because the s semantics characterizes the answers for arbitrary goals and hence, the abstract semantics approximates the answers for arbitrary goals. The formal justification of this is described in [5] and [13]. Similar proofs for the P os domain are given in [15] In addition to answers (or success patterns) call patterns can be approximated by applying a suitable program transformation such as Magic Sets. A detailed description of this approach with an application for the P os domain can be found in ....
M. Codish, D. Dams, and E. Yardeni. Bottom--Up Abstract Interpretation of Logic Programs. Theoretical Computer Science, 124(1):93--125, February 1994. 29
....program is correct with respect to the original program for success patterns. There are a number of standard ways to enhance the technique to also provide analysis of call patterns. In particular, in a bottom up approach by applying the technique in combination with Magic Sets (see for example [2]) or in a top down approach by using the improved success patterns (with the transformed program) to derive improved call patterns (with the original program) Another interesting application of the combined approach is to improve the results of termination analysis. This application must be ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93-125, 1994.
....consists of a non ground version of the TP operator. The meaning of a program is a set of possibly non ground atoms which can be applied to determine the answers for arbitrary initial goals. This semantics is the basis for a number of frameworks for the bottom up analysis of logic programs [1, 3]. An analysis based on the abstraction of this semantics is naturally viewed as goal independent. It is the above described state of affairs which has led to the folk belief that top down analyses of logic programs are goal dependent while bottom up analyses are goal independent. In fact, ....
....in the context of deductive databases where magic sets and related transformation techniques are applied to make the evaluation process goal dependent. These same techniques have also been applied to enable bottom up frameworks of abstract interpretation to support goal dependent analysis (see [3] for a list of references) This work breaches the folk belief and suggests that bottom up frameworks have a wider applicability. In contrast, the practical application of top down frameworks for goal independent analysis has received little attention. The purpose of this paper is to fill this ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93--125, 1994.
....are described by append(X ; Y ; list) This type of information is derived by applying the type analysis described above to the Magic set transformation [5] of the abstract program and an abstraction of the initial goal. A similar approach is illustrated in [11] and a formal justification given in [9]. In the following we will describe in more detail the type analysis of logic programs and its implementation. In addition, the approach illustrated above will be generalized to capture also polymorphic type analyses. 4. The Abstract Domain of Types We define a first order language using the ....
....of an initial goal. However transformation techniques such as the Magic set method (e.g. 5] can be applied to capture call patterns using bottom up semantics. These techniques, originally developed to optimize database applications have proven useful in the context of program analysis (see [9] for a list of references and a formal justification; see [11] for an application) The basic idea is that, for a given program P and goal G , the meaning of the transformed program magic(P ; G) reflects both calls and answers for G and P . Example 7 Denote by P the program of Example 2 with an ....
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Journal of Theoretical Computer Science, 124:93--125, 1994.
No context found.
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. Theoretical Computer Science, 124, 1994.
No context found.
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science, The Weizmann Institute, Rehovot, 1990. To appear in Theoretical Computer Science.
No context found.
M. Codish, D. Dams, and E. Yardeni. Bottom-up Abstract Interpretation of Logic Programs. Technical report, Dept. of Computer Science, The Weizmann Institute, Rehovot, 1990.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC