| Van Hentenryck, P., A. Cortesi, and B. Le Charlier: 1994, `Type Analysis of Prolog Using Type Graphs'. Journal of Logic Programming 22#3#, 179 # 210. |
....as it will in finite time give us a finite description of the success set of a program. We argue that a regular approximation is a useful description that may in many cases also be very informative. One of the most useful properties of the regular approximation derived by procedures such as [7, 11], is that the concrete and abstract domains (see [18] for further details) share the same constants and function symbols (except for the variable X in any(X) in the approximation representing any term in the Herbrand universe of a program) A direct interpretation of the information given in the ....
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. Technical report, Brown University, Department of Computer Science, December 1993.
....models the execution environment of a predicate using type graphs and special arcs representing structure sharing. In Bruynooghe et al. 1] the framework of [16] is further extended and applied to liveness analysis of statically typed languages such as Mercury. The work of Van Hentenryck et al. [8] presents the systematic approach to the construction of abstract domains using the generic domain Pat(R) In particular, authors describe how the domain of type graphs Type can be integrated into Pat(R) producing Pat(Type) The resulting domain provides type and mode inference similarly to the ....
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. JLP, 22(3):179-209, 1995.
....bound variables more accurately, by requiring the domain to keep track of the di#erent chains contained in the structures to which the program variables are bound, their individual trailing state and how these are a#ected by the di#erent program constructs. Known techniques (see for instance [JB93,HCC95,MWB94]) based on type information could be used to keep track of the constructor that a variable is bound to and of the trailing state of the di#erent arguments, thereby making this approach possible. 5 Analysing HAL Body Constructs This section defines the notrail operations required by HAL s ....
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. JLP, 22:179--209, 1995.
....or variable is allowed to take, but in this paper we are concerned with deriving such descriptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference [16, 8] debugging [24] assisting compiler optimisations [25, 34], optimising a theorem prover [14] program specialisation [20] planning [4] and veri cation [8] The rst work in this area was by Reynolds [33] other early research was done by Jones and Muchnick [27, 26] In the past decade two di erent approaches to deriving set expressions have been ....
....[20] planning [4] and veri cation [8] The rst work in this area was by Reynolds [33] other early research was done by Jones and Muchnick [27, 26] In the past decade two di erent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constraints derived from the program text [22, 16, 21, 2, 1, 28, 9, 32] In abstract interpretation the program is executed over an abstract type domain, program variables taking on abstract values represented by types rather than standard values. In set constraint ....
[Article contains additional citation context not shown here]
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of prolog using type graphs. Journal of Logic Programming, 22(3):179-210, 1994.
....which consists of abstract equation systems augmented with a sharing component and an annotation mapping. The abstract equation system provides depth bounded structural information together with definite equality of subterms and has quite similar expressive power as the generic pattern domain of [26, 27, 33]. The sharing component is based on the set sharing domain of Jacobs and Langen [20, 21] it captures possible sharing as well as covering information and provides a good propagation of groundness information. However, the sharing information is expressed at the level of so called abstract ....
....between Y 2 and Y 3 is derived to be definite sharing, and both Y 1 and Y 2 are known to have principal functor f=2. Note that no fixed depth bound need be imposed, since it can be adjusted dynamically through upperbound or widening operations, similar as in the generic pattern domain Pat(R) of [26, 27, 33]. Indeed, the composite domain has some more features in common with the Pat(R) domain. The abstract equations component is in fact an alternative representation of the pattern component of Pat(R) which provides both structural and same value information but uses integer indices to identify ....
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. Technical Report CS-93-52, Brown University, Department of Computer Science, Nov. 1993.
....or variable is allowed to take, but in this paper we are concerned with deriving such descriptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference [13, 6] debugging [21] assisting compiler optimisations [22, 32], optimising a theorem prover [11] program specialisation [17] planning [3] and veri cation [6] The rst work in this area was by Reynolds [30] other early research was done by Jones and Muchnick [24, 23] In the past decade two di erent approaches to deriving set expressions have been ....
....[17] planning [3] and veri cation [6] The rst work in this area was by Reynolds [30] other early research was done by Jones and Muchnick [24, 23] In the past decade two di erent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [22, 32, 16, 10, 27], and the other on solving set constraints derived from the program text [19, 13, 18, 2, 1, 25, 7, 29] In abstract interpretation the program is executed over an abstract type domain, program variables taking on abstract values represented by types rather than standard values. In set based ....
[Article contains additional citation context not shown here]
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of prolog using type graphs. Journal of Logic Programming, 22(3):179-210, 1994.
....to use abstract interpretation techniques to infer directional types of a program. Soundness of an abstract interpretation method can be justified by deriving it systematically from the verification conditions. An example of an abstract interpretation approach is (Janssens Bruynooghe, 1992; Van Hentenryck et al. 1995). Another example is (Gallagher de Waal, 1994) it derives types in form of discriminative term grammars. In (Drabent et al. 2000a) we modified the latter technique to infer directional types for CLP programs. In this paper we present its further extension for inferring parametric directional ....
....we leave the issue of implementation of the extension as a topic of future work and in our work we focus on another approach discussed below. The second way of finding a model of the constraint system C(P ) stems from abstract interpretation approaches (among others (Janssens Bruynooghe, 1992; Van Hentenryck et al. 1995), Gallagher de Waal, 1994) we generalize the latter work in (Drabent Pietrzak, 1999; Drabent et al. 2000b; Drabent et al. 2000a) and here) C(P ) is seen as a valuation transformer, its fixed points are models 3 This approach can also be used when P is a fragment of a program, i.e. the ....
Van Hentenryck, P., Cortesi, A., & Charlier, B. Le. (1995). Type analysis of Prolog using type graphs. Journal of logic programming, 22(3), 179--209.
....however, have not always been renowned for their tractability. Even for small programs, the prototype analyser of [12] used in [6] is typically 15 times slower than the optimising PLM compiler [15] Recently, type graph analysis has been shown to be practical for medium sized Prolog programs [14] when augmented with an improved widening and compacting procedure. In addition, Gallagher and de Waal have shown how type graphs can be efficiently represented as unary logic programs in [8] Clearly, however, any approach which avoids the costs of inferring type graphs is preferable. Bossi et ....
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type Analysis of Prolog Using Type Graphs. In PLDI'94, pages 337--348. ACM Press, 1994.
....subterm types of . If N ( f 1 ; m g and j j 1 for all j 2 f1; m 1g, we denote the tuple h 1 ; m i by N ( as well. Note that . includes the case that = and that if 2 N ( then 6. The relation can be visualised as a type graph [5]. The type graph for a type is a directed graph whose nodes are subterm types of . The node is called the initial node. There is an edge from 1 to 2 i 2 1 . The recursive types of are all the types in the strongly connected component (SCC) of , and N ( contains the types ....
....such as the declaration of N in Ex. 2.2. Apart from the fact that such types occur in real programs, our work is a contribution because it helps to understand other, more ad hoc domain constructions as instances of a general theory. A complex system for type analysis of Prolog is presented in [5]. As far as we can see, this system is not in a formal sense stronger or weaker that our mode analysis. The domain Pat(Type) used there is in nite, so that widenings have to be introduced to ensure niteness. In contrast, we exploit the type declarations to construct domains that are inherently ....
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. JLP, 22(3):179-209, 1995. 2 We use some abbreviations and omit the termination ag for types Int, Balance and String.
No context found.
Van Hentenryck, P., A. Cortesi, and B. Le Charlier: 1994, `Type Analysis of Prolog Using Type Graphs'. Journal of Logic Programming 22#3#, 179 # 210.
No context found.
Van Hentenryck, P., Cortesi, A., and Charlier, B. L. 1995. Type analysis of Prolog using Type Graphs. Journal of Logic Programming 22, 3, 179--209.
No context found.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. Journal of Logic Programming, 22(3):179--210, 1994.
No context found.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type Analysis of Prolog Using Type Graphs. Journal of Logic Programming, 22(3):179-209, 1995.
No context found.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type Analysis of Prolog Using Type Graphs. Journal of Logic Programming, 22(3):179-209, 1995.
No context found.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of prolog using type graphs. In JLP, 1994.
No context found.
P. Van Hentenryck, A. Cortesi, B. Le Charlier, Type analysis of prolog using type graphs, J. Logic Programming 22 (3) (1995) 179--208.
No context found.
P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type Analysis of Prolog using Type Graphs. In Proceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation, SIGPLAN Notices, pages 337--348. Association for Computing Machinery, 1994.
No context found.
P. Van Hentenryck, A. Cortesi, B. Le Charlier, Type analysis of Prolog using type graphs, Journal of Logic Programming 22 (3) (1995) 179--209,. 34
No context found.
P. Van Hentenryck, A. Cortesi, B. Le Charlier, Type analysis of Prolog using type graphs, Journal of Logic Programming 22 (3) (1995) 179--209,.
No context found.
P. Van Hentenryck, A. Cortesi, B. Le Charlier, Type analysis of Prolog using type graphs, Journal of Logic Programming 22 (3) (1995) 179--209,.
No context found.
P. Van Hentenryck, A. Cortesi, B. Le Charlier, Type analysis of Prolog using type graphs, Journal of Logic Programming 22 (3) (1995) 179--209,. 34
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