| P. Codognet and G. File. Computations, abstractions and constraints. In Proceedings of the Fourth IEEE International Conference on Computer Languages. IEEE Computer Society Press, 1992. |
....(the empty set) The abstract domain described in [14] is also shown to be isomorphic to Sharing and thus, in view of the present work, it is redundant with respect to pair sharing. A suggested advantage of the approach proposed in [14] is that the adoption of an abstract compilation technique [16,34,39] for the implementation of a sharing analyzer is made easier. 8.3 The Quotient of Abstract Interpretations After an initial attempt in [20] Cortesi, File, and Winsborough defined, in [21] the notion of quotient of an abstract interpretation with respect to a certain property. This notion is ....
P. Codognet and G. File. Computations, abstractions and constraints. In Proceedings of the Fourth IEEE International Conference on Computer Languages. IEEE Computer Society Press, 1992.
....languages are, in principle, general enough to encompass several of their own data flow analyses. Intuitively, this is done by replacing the standard constraint domain with one suitable for expressing the desired information. This fundamental aspect was brought to light, for the case of CLP, in [9] and elaborated in [21] In [21] it is presented a generalized algebraic semantics for constraint logic programs, which is parameterized with respect to an underlying constraint domain. The main advantages of this approach are that: 1) different instances of CLP can be used to define non standard ....
....preserved as computation progresses; further, we restrict out interest to logical properties. This means, roughly speaking, that Omega is interpreted as logical conjunction. Now the question is: how do we represent the properties of interest A simple, but far reaching answer was first given in [9]: we can represent properties by means of constraints. This opens up the possibility of computing non standard semantics of CLP, and, in particular, abstract interpretations, within the CLP framework. In this setting the result of the abstract interpretation of a CLP program P is obtained by ....
P. Codognet and G. Fil`e. Computations, abstractions and constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....described by constraints. Thus the CLP framework is general enough to encompass (some of) its own data flow analyses. Intuitively, this is done by replacing the standard constraint domain with one suitable for expressing the desired information. This fundamental aspect was brought to light in [5] and elaborated in [12] For languages of the kind of CLP(N ) where N is some numerical domains, the first steps towards pattern analysis were moved in [3, 4] 2] describes some of the more important applications of such analyses. The work done in this field is being generalized to CLP(H, N) ....
.... # f(e 1 , e k ) # I, e 1 # I 1 , e k # I k # # f(e 1 , e k ) # f(I 1 , I k ) where f : I k # I is such that for each x 1 # I 1 , x k # I k , f(x 1 , x k ) # f(I 1 , I k ) An example inference is: A # [3, 6) # B # [ 1, 5] # A B # [2, 11) Another technique is numeric constraint propagation, which consists in determining the relationship between two expressions when their associated intervals do not overlap, except possibly at their endpoints. The associated family of axioms is e 1 # I 1 , e 2 # I 2 # e ....
[Article contains additional citation context not shown here]
P. Codognet and G. File. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992. 4 Notice that this is much more precise than the Prop formula X
....languages are, in principle, general enough to encompass several of their own data flow analyses. Intuitively, this is done by replacing the standard constraint domain with one suitable for expressing the desired information. This fundamental aspect was brought to light, for the case of CLP, in [10] and elaborated in [22] In [22] a generalized algebraic semantics for constraint logic programs is presented, which is parameterized with respect to an underlying constraint domain. The main advantages of this approach are that: 1) di#erent instances of CLP can be used to define non standard ....
....are preserved as computation progresses; further, we restrict our interest to logical properties. This means, roughly speaking, that# is interpreted as logical conjunction. Now the question is: how do we represent the properties of interest A simple, but far reaching answer was first given in [10]: we can represent properties by means of constraints. This opens up the possibility of computing non standard semantics of CLP, and, in particular, abstract interpretations, within the CLP framework. In this setting the result of the abstract interpretation of a CLP program P is obtained by ....
[Article contains additional citation context not shown here]
P. Codognet and G. File. Computations, abstractions and constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....(the empty set) The abstract domain described in [14] is also shown to be isomorphic to Sharing and thus, in view of the present work, it is redundant with respect to pair sharing. A suggested advantage of the approach proposed in [14] is that the adoption of an abstract compilation technique [16,34,39] for the implementation of a sharing analyzer is made easier. 8.3 The Quotient of Abstract Interpretations After an initial attempt in [20] Cortesi, Fil e, and Winsborough de ned, in [21] the notion of quotient of an abstract interpretation with respect to a certain property. This notion is ....
P. Codognet and G. File. Computations, abstractions and constraints. In Proceedings of the Fourth IEEE International Conference on Computer Languages. IEEE Computer Society Press, 1992.
....in dataflow analysis implementation [68] as constraint based computation. A related approach is also considered by Codognet and Fil e, who firstly give an algebraic definition of constraint systems and consider abstract interpretation of constraint logic programs as constraint abstraction [19]. However, the algebraic structure considered by these authors is very different: only Omega composition is considered, and while a notion of computation system is introduced, the underlying structure is not provided with a join operator. Because of this construction, mainly based on a ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. IEEE International Conference on Computer Languages, ICCL'92, IEEE Press, 1992.
....and can hence be applied to other syntactic objects. This facilitates the implementation, supporting an approach 2 which combines program abstraction (replacing terms by sets of variables) with concrete evaluation (enhanced by ACI1 unification) This approach is derived from ideas presented in [21, 12, 19] and often termed abstract compilation. It has been applied in a variety of applications [16, 18, 7, 9] To our knowledge, no previous work has provided an abstract compilation scheme for sharing information. 2) Most of the recent work on sharing analyses for logic programs attempts to justify ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....semantics to an abstraction of the program itself. This technique is referred to as abstract compilation in [24] and originates from an idea presented in [17] A similar approach is applied in [22] where analyses are defined in terms of regular approximations of programs. Also related are [23] and [12] which describe respectively the bottom up and top down evaluation of constraint logic programs on finite domains as a means to obtain analyses for (constraint) logic programs. In contrast to the analyses described in [24] and [17] the abstractions suggested in [22, 23, 12] as well as that ....
....Also related are [23] and [12] which describe respectively the bottom up and top down evaluation of constraint logic programs on finite domains as a means to obtain analyses for (constraint) logic programs. In contrast to the analyses described in [24] and [17] the abstractions suggested in [22, 23, 12] as well as that proposed here can formally be viewed as abstracting the individual syntactic structures occurring in a program. For example, our abstract programs do not explicitly perform tabulation, least upper bounds or projections which are not present in concrete programs. In fact, our ....
[Article contains additional citation context not shown here]
P. Codognet and G. Fil`e. Computations, abstractions and constraints. In Proceedings Fourth IEEE International Conference on Computer Languages. IEEE Computer Society Press, 1991.
....can be less sensitive to domain size. The idea of using symbolic constraints to represent relations was first proposed by Wegbreit [Weg75] for analysis of flow chart programs. In the context of logic programs, the use of symbolic constraints was formally studied by Codognet and File [CF92] and Giacobazzi et al. [GDL92] They compute the relation using a fixpoint algorithm that is parameterized by operations on the constraints. However, the design of efficient algorithms for actually performing these constraint operations was not addressed. Corsini et al. in [CMRL93] present an ....
....Simplify is used to maintain these properties in a canonical form; project is used to eliminate intermediate variables from properties; and implication is used to check whether a fix point has been reached. In terms of functionality this layer corresponds to the fix point algorithms in [Weg75, CF92]. The boolean simplification layer specifies the form of the properties to be disjunctive normal formulae (DNF s) over atomic constraints. The form of atomic constraints is in turn specified by lower layers. It realizes the simplify and implication operations on DNF s through a set of ....
[Article contains additional citation context not shown here]
P. Codognet and G. File. Computations, abstractions and constraints. In International Conference on Computer Languages, pages 155--164. IEEE Press, 1992.
....the other AND compositional correct denotations. 4 Abstract interpretation One more motivation for our algebraic construction can be found in abstract interpretation. The essence of abstract interpretation is to give a non standard interpretation to the language. In the CLP case, as shown in [5, 17], we only need to give a non standard interpretation to constraints. In general a constraint system is an interpretation (in a semi closed semiring) for constraint formulas. According to the approach of [19, 17, 20] constraint systems are related by means of constraint system semi morphisms. The ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....The key feature is that prolog control strategy is modeled inside the constraint system, mantaining the logical flavor of classical semantics for pure logic programming. 1 Introduction An elegant and promising technique for analyzing logic programs is that based on constraints, first introduced in [3] and then formalized in terms of the so called generalized semantics in [6, 7, 5] The extension of logic programming ( 15] that replaces the usual unification on the Herbrand universe with a more general notion of constraint is called constraint logic programming (CLP, 8] The semantics of CLP ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
.... make abstract and concrete semantics as uniform as possible, we use the paradigm of constraint logic programming (CLP) The semantics of CLP is parametric wrt an underlying constraint system, and abstract semantics are obtained simply replacing concrete constraint systems with abstract ones (see [8, 13]) Our uniform treatment also shows which are the real conceptually new problems that arise when control is taken into account. Namely, these problems are the need of lower approximations, and of sequence approximation. We propose a solution for the lower approximation problem based on a different ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....described by constraints. Thus the CLP framework is general enough to encompass (some of) its own data flow analyses. Intuitively, this is done by replacing the standard constraint domain with one suitable for expressing the desired information. This fundamental aspect was brought to light in [5] and elaborated in [12] For languages of the kind of CLP(N ) where N is some numerical domains, the first steps towards pattern analysis were moved in [3, 4] 2] describes some of the more important applications of such analyses. The work done in this field is being generalized to CLP(H, N ) ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992. 4 Notice that this is much more precise than the Prop formula X / Y Z [6].
....Za#anella et al. Abstracting Synchronization 6.3 Since f # is reductive, in the general case we have ##(c) ## f # (##(c) Thus we have lost correctness. Proof of Theorem 1 # The above result specifies that the traditional form of abstraction of constraint logic languages implemented in [CF92, GDL95] is no longer applicable to ccp programs. 6.3 An Easy Solution: Removing Synchronizations A solution to the abstract synchronization problem can be found by considering a di#erent (more abstract) concrete semantics which models only some aspects of the program behavior. Definition 8 The success ....
....computations are preserved. The problem of giving a generalized abstract interpretation framework for cc languages, where only local choice is allowed, is considered in [CC93] However, in contrast with Theorem 1, they claim that it is correct to directly abstract the program, in the style of [CF92, GDL95], and evaluate it on the abstract constraint system. This is clearly in contrast to our result, where we proved that it is not sound to translate the approach in [CF92, GDL95] to the analysis of ccp. In general, this approach to static analysis returns incorrect results because of the abstract ....
[Article contains additional citation context not shown here]
P. Codognet and G. File. Computations, abstractions and constraints. In<F4.877e+05> Proceedings of the Fourth IEEE International Conference on Computer<F5.303e+05> Languages, Los Alamitos, CA, 1992. IEEE Computer Society Press.
....viewed as computation in a suitable instance of the same CLP framework, where the program is transformed into an abstract program, obtained by abstracting the concrete constraints. A similar result, in a framework based on the generalization of the top down operational semantics, is described in [34]. The ability to use the CLP interpreter to analyze CLP programs has been exploited in some interesting applications [8] 7.3 Declarative debugging The application of the s semantics approach to semantics based (declarative) debugging [16] has the following features when compared to the ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....upper and lower approximations are needed, ffl an abstraction of the sequence structure. We discuss the conditions under which the second abstraction is not needed. 1 Introduction An elegant and promising technique for analyzing logic programs is that based on constraints, first introduced in [15] and then formalized in terms of the so called generalized semantics in [26, 27, 25] The main features of the technique are the following. ffl The abstraction can simply be performed by abstracting the (concrete) constraint system into an abstract constraint system. The correctness of the ....
....systems. Once we have a structure C satisfying the conditions of definition 3. 11, we automatically obtain a semantics for the class of programs CLP (C) The abstract interpretation scheme, when applied to CLP, turns out to be expressed in terms of a set of conditions on the constraint systems [15, 26]. In order to define an abstract interpretation relation between two semantics, we just need to specify a monotonic function from the concrete constraint system to the abstract constraint system and then prove that the operations of the constraint systems satisfy a correctness condition. ....
P. Codognet and G. Fil`e. Computations, Abstractions and Constraints. In Proc. Fourth IEEE Int'l Conference on Computer Languages. IEEE Press, 1992.
....semantics to an abstraction of the program itself. This technique is referred to as abstract compilation in [26] and originates from an idea presented in [18] A similar approach is applied in [24] where analyses are defined in terms of regular approximations of programs. Also related are [25] and [13] which describe respectively the bottom up and top down evaluation of constraint logic programs on finite domains as a means to obtain analyses for (constraint) logic programs. In contrast to the analyses described in [26] and [18] the abstractions suggested in [24, 25, 13] as well as that ....
....Also related are [25] and [13] which describe respectively the bottom up and top down evaluation of constraint logic programs on finite domains as a means to obtain analyses for (constraint) logic programs. In contrast to the analyses described in [26] and [18] the abstractions suggested in [24, 25, 13] as well as that proposed here can formally be viewed as abstracting the individual syntactic structures occurring in a program. For example, our abstract programs do not explicitly perform tabulation, least upper bounds or projections which are not present in concrete programs. In fact, our ....
[Article contains additional citation context not shown here]
P. Codognet and G. Fil`e. Computations, abstractions and constraints. In Proceedings Fourth IEEE International Conference on Computer Languages. IEEE Computer Society Press, 1991.
....representation can be less sensitive to domain size. The idea of using symbolic constraints to represent relations was first proposed by Wegbreit [23] for analysis of flow chart programs. In the context of logic programs, the use of symbolic constraints was formally studied by Codognet and Fil e [4] and Giacobazzi et al. [12] They compute the relation using a fix point algorithm that is parameterized by operations on the constraints. However, the design of efficient algorithms for actually performing these constraint operations was not addressed. Corsini et al., in [5] present an efficient ....
....Simplify is used to maintain these properties in a canonical form; project is used to eliminate intermediate variables from properties; and implication is used to check whether a fix point has been reached. In terms of functionality this layer corresponds to the fix point algorithms in [4, 23] and the GAIA [17] The boolean simplification layer specifies the form of the properties to be disjunctive normal formulae (DNF s) over atomic constraints. The form of atomic constraints is, in turn, specified by lower layers. It realizes the simplify and implication operations on DNF s ....
[Article contains additional citation context not shown here]
P. Codognet and G. Fil'e. Computations, abstractions and constraints. In International Conference on Computer Languages, pages 155--164. IEEE Press, 1992.
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