21 citations found. Retrieving documents...
A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs. In Seventh International Conference on Logic Programming, pages 747--762. MIT Press, June 1990.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
On Copy Avoidance in Single Assignment Languages - Saumya Debray Department (1993)   (8 citations)  (Correct)

....sophisticated compilers that analyze the program to determine when a structure can be safely updated in place, and avoid creating copies in such cases. There has been a considerable amount of work in this context, e.g. see [1, 8, 9, 10] in the context of functional programming languages, and [2, 3, 4, 11, 12, 15] in the context of logic programming languages. Most of this work is aimed at determining when an update operation can be safely performed destructively. For example, the work of Bruynooghe [2, 3] Foster and Winsborough [4] Hudak and Bloss [1, 8, 9] Mulkers et al. 12] and Sastry et al. 15] ....

....and [2, 3, 4, 11, 12, 15] in the context of logic programming languages. Most of this work is aimed at determining when an update operation can be safely performed destructively. For example, the work of Bruynooghe [2, 3] Foster and Winsborough [4] Hudak and Bloss [1, 8, 9] Mulkers et al. [12], and Sastry et al. 15] focus on compile time reference counting schemes to determine when a data structure being updated has at most one reference to it, and can therefore be safely updated in place. Conceptually, there are two components to compile time memory reuse. First, it is necessary to ....

A. Mulkers, W. Winsborough, and M. Bruynooghe, "Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs", Proc. Seventh International Conference on Logic Programming, Jerusalem, June 1990, pp. 747--762. MIT Press, Cambridge.


Type Analysis of Prolog Using Type Graphs - Van Hentenryck, Cortesi, Le.. (1993)   (21 citations)  (Correct)

....approximation as is traditional in abstract interpretation. The appealing features of this approach is the possibility of exploiting variable dependencies and the ease with which type analysis can be combined with other analyses as required by applications such as compile time garbage collection [17]. The drawback is that the result of the analysis is more difficult to characterize formally as the design of the abstract domain is an experimental endeavour. This approach has been implemented in a prototype system [10] but experimental results have only been reported on very small programs and ....

....engineered to be practical, at least for medium sized programs (up to 450 lines of Prolog) It also shows that type graphs can be practical and this is of importance for many applications such 2 GAIA is available by anonymous ftp from Brown University. 1 as compile time garbage collection (e.g. [17]) and automatic termination analysis (e.g. 21] The technical contributions to obtain this result are (1) a novel widening operator for type graphs which appears to be accurate and effective in keeping the sizes of the graphs, and hence the computation time, reasonably small; 2) the use of the ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs. In Seventh International Conference on Logic Programming (ICLP-90), Jerusalem, Israel, June 1990.


Abstract multiple Specialization and its application to.. - Puebla, Hermenegildo (1999)   (5 citations)  (Correct)

.... for logic programs, such as the original one in Bruynooghe s seminal work [3] are based on explicitly building an abstract version of the and or tree which contains a di erent or node for each di erent call substitution c i to a predicate p j which has been detected during analysis [43, 30]. This has the advantage that, while not directly represented in AO(P; p; D ) it is quite straightforward to derive a fully multiply specialized program (i.e. with all possible versions) from such graph and the original program. The arcs in AO(P; p; D ) allow determining at compiletime ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747-762, Jerusalem, Israel, June 1990. MIT Press.


The implementation of Mercury, an efficient purely.. - Somogyi, Henderson.. (1995)   (2 citations)  (Correct)

....style have many clauses in which the last reference to a memory cell (structure) is followed almost immediately by the allocation of another cell of the same size. One obvious optimization is to reuse the newly freed memory cell for the following allocation. This is by now a well researched area [6, 8, 10, 18]. The key problem is the analysis required to identify the location of the last reference to a memory cell. These analyses require dataflow information, and their accuracy is limited by the accuracy of the dataflow information they are based on. Since the Mercury compiler has perfect dataflow ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, Israel, June 1990.


Logic Programming for the Real World - Somogyi, Henderson, Conway, O'Keefe (1995)   (3 citations)  (Correct)

....of negations and if then elses without any runtime checks. If Mercury is ever extended with subtypes, mode information will allow the compiler to insert subtype checking code in the minimal set of places. And to close this long list of advantages, we note that many high level optimizations (e.g. [10, 13, 23]) are based on the availability of mode information. Since most database systems do not allow the storage of variables, a strong mode system also simplifies interfacing to external databases. 2.3 A strong determinism system One can divide modes of predicates into four classes based on the number ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile--time garbage collection in logic programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, Israel, June 1990.


Implementation of Multiple Specialization in Logic Programs - Puebla, Hermenegildo (1995)   (8 citations)  (Correct)

.... of the And Or Graph As mentioned before, some formulations of top down abstract interpretation for logic program, such as the original one in Bruynooghe s seminal work [2] are based on explicitly building an abstract version of the resolution tree which contains all possible specialized versions [28, 20]. This has the advantage that, while not directly represented in the abstract and or graph, it is quite straightforward to derive a fully specialized program (i.e. with all possible versions) from such graph and the original program. Essentially, a new version is generated for a predicate for ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, Israel, June 1990. MIT Press.


The execution algorithm of Mercury, an efficient purely .. - Somogyi, Henderson.. (1996)   (32 citations)  (Correct)

....have many predicates in which the last reference to a memory cell (structure) is followed almost immediately by the allocation of another cell of the same size. One obvious optimization is to reuse the newly freed memory cell for the following allocation. This is by now a well researched area [13, 18, 20, 29]. The key problem is the analysis required to identify the location of the last reference to a memory cell. These analyses require dataflow information, and their accuracy is limited by the accuracy of the dataflow information they are based on. Since the Mercury compiler has perfect dataflow ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, Israel, June 1990.


Redundancy of Variables in CLP(R) - Macdonald, Stuckey, Yap   (Correct)

....sharing information is based on that presented by S ndergaard [12] and expanded by Codish et al. [1] groundness information is based on that Marriott and S ndergaard [7] The nonlinear information is completely novel. The analysis shares some similarity of purpose with work of Mulkers et al. [8, 9, 10] for PROLOG. Here they are interested in determining dead variables and dead structure for re use and compile time garbage collection. They require much more detailed sharing information, but no nonlinear information (obviously) The remainder of this paper is organized as follows. In the next ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile time garbage collection in logic programs. In D. H. D. Warren and P. Szeredi, editors, Proc. Seventh International Conference on Logic Programming, pp. 747--762. MIT Press, 1990.


Logic Programming for the Real World - Somogyi, Henderson, Conway, O'Keefe (1995)   (3 citations)  (Correct)

....systems do not allow the storage of variables, a strong mode system simplifies interfacing to external databases; for similar reasons, a strong mode system simplifies interfacing with other languages. To conclude this long list of advantages, we note that many high level optimizations (e.g. [17, 25, 37]) are based on the availability of mode information. 2.3 A strong determinism system One can divide modes of predicates into four classes based on the number of solutions different calls to them can have. The four classes are those that have exactly one solution, those that have at most one ....

....destructively updating the old state, compilers do not have enough information available to determine when it is safe to perform this optimization. In theory, incremental global analysis might be able to provide uniqueness information, but in practice this turns out to be very difficult (see e.g. [18, 25]) Even if it weren t, one must also consider that global analysis by itself can never guarantee that the compiler will be able to perform the optimization; even if the analysis is perfect, the program may not be. Uniqueness is quite fragile: a small change in one part of a program can affect ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile-- time garbage collection in logic programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, Israel, June 1990.


Strong Modes can Change the World! - Fergus Henderson (1993)   (3 citations)  (Correct)

....Approaches To date there has been a fair amount of research on algorithms for detecting structure sharing and opportunities for structure reuse and compile time garbage collection, generally involving global analysis via abstract interpretation. Some examples of this sort of research are [MWB90, FW91] However there have been few if any actual implementations in real Prolog systems. Although we expect that in the future, global analysis of programs will become the norm for optimizing compilers, at the present time it appears that the full complexities of global analysis are a barrier to ....

Anne Mulkers, William Winsborough, and Maurice Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programming languages. Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, June 1990.


The execution algorithm of Mercury, an efficient purely.. - Zoltan Somogyi (1996)   (32 citations)  (Correct)

....have many predicates in which the last reference to a memory cell (structure) is followed almost immediately by the allocation of another cell of the same size. One obvious optimization is to reuse the newly freed memory cell for the following allocation. This is by now a well researched area [8, 10, 12, 20]. The key problem is the analysis required to identify the location of the last reference to a memory cell. These analyses require dataflow information, and their accuracy is limited by the accuracy of the dataflow information they are based on. Since the Mercury compiler has perfect dataflow ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. In Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, Israel, June 1990.


Freeness Analysis in the Presence of Numerical.. - Dumortier, Janssens.. (1993)   (6 citations)  Self-citation (Bruynooghe)   (Correct)

....b i are arbitrary coe#cients. With an adequate choice of the b i , a linear combination can be obtained such that each X i becomes possibly non free. Making the distinction between new and old information in the analysis of logic programs is applied previously by Plaisted [25] and also by Mulkers [22, 23]. An implementation Our analysis has been implemented within the abstract interpretation framework of Bruynooghe [1] As an example, we show the results obtained for the sumlist 2 program with an initial call pattern sumlist(a, f ) indicating that the first argument is any term and the second ....

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. In D. H. D. Warren and P. Szeredi, editors, Proceedings of the Seventh International Conference on Logic Programming, pages 747--762, Jerusalem, 1990. MIT Press, Cambridge.


Global Analysis of Constraint Logic Programs - Banda, Hermenegildo.. (1996)   (7 citations)  Self-citation (Bruynooghe)   (Correct)

....of Cons F m and that AC j old does not contribute to AC j exit . For further details, the reader is referred to Dumortier [1994] Making the distinction between new and old information in the analysis of logic programs has been applied previously by Plaisted [1984] and by Mulkers [1993] and Mulkers et al. 1990; 1994] Example 7.2.3 (F m Analysis for the sumlist Program) The initial call pattern of sumlist(A; B) is Phi fAg Psi , which is also the call pattern of the recursive call (the abstract information written out is the union of the old and new components of the compound abstract ....

Mulkers, A., Winsborough, W., and Bruynooghe, M. 1990. Analysis of shared data structures for compile-time garbage collection in logic programs. In Proceedings of the 7th International Conference on Logic Programming, D. H. D. Warren and P. Szeredi, Eds. MIT Press, Cambridge, Mass., 747--762.


Towards memory reuse in Mercury - Mazur, Janssens, Bruynooghe (1999)   (1 citation)  Self-citation (Bruynooghe)   (Correct)

....but in practice this is quite dicult. Much better would be to have the compiler perform the necessary reasoning for structure reuse. A number of authors have considered this problem 2 Nancy Mazur et al. within single assignment languages, in the context of logic programming languages [6,11,13], as well as functional programming languages [2,9,17,18] Some of the approaches involve special language constructs (such as uniqueness declarations within Mercury) 1,15,21,22] others are based on compiler analyses [7,10] Mulkers et al. 14] have developed such an analysis for Prolog, ....

Anne Mulkers, Will Winsborough, and Maurice Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. In D. H. D. Warren and P. Szeredi, editors, Proceedings of the Seventh International Conference on Logic Programming, pages 747-762, Jerusalem, 1990. MIT Press, Cambridge.


Set-Sharing is not always redundant for Pair-Sharing - Bueno, Banda   (Correct)

No context found.

A. Mulkers, W. Winsborough, and M. Bruynooghe. Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs. In Seventh International Conference on Logic Programming, pages 747--762. MIT Press, June 1990.


Combinations of Abstract Domains for Logic.. - Cortesi, Le.. (2000)   (64 citations)  (Correct)

No context found.

A. Mulkers, W. Winsborough, M. Bruynooghe, Analysis of shared data structures for compile-time garbage collection in logic programs, 7th Internat. Conf. on Logic Programming (ICLP-90), Jerusalem, Israel, June 1990.


the Garbage Collection Bibliography - Richard Jones (2003)   (Correct)

No context found.

Anne Mulkers, William Winsborough, and Maurice Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. Report CW117, Katholieke Universitiet of Leuven, Belgium, 1990. Extended version.


the Garbage Collection Bibliography - Richard Jones (2003)   (Correct)

No context found.

Anne Mulkers, William Winsborough, and Maurice Bruynooghe. Analysis of shared data structures for compile-time garbage collection in logic programs. In 7th International Conference on Logic Programming, pages 747--762. MIT Press, 1990.


Generic Abstract Interpretation Algorithms for.. - Englebert, Le.. (1993)   (11 citations)  (Correct)

No context found.

A. Mulkers, W. Winsborough and M. Bruynooghe, `Analysis of shared data structures for compile-time garbage collection in logic programs', Seventh International Conference on Logic Programming (ICLP90) , Jerusalem, Israel, June 1990.


Efficient Dataflow Analysis of Logic Programs - Debray (1992)   (24 citations)  (Correct)

No context found.

A. Mulkers, W. Winsborough and M. Bruynooghe, "Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs", Proc. Seventh International Conference on Logic Programming, Jerusalem, Israel, June 1990, pp. 747-764.


Type Graphs in Practice - Mildner, Lindgren (1997)   (Correct)

No context found.

A. Mulkers, W. Winsborough, M. Bruynooghe. Analysis of Shared Data Structures for Compile-Time Garbage collection in Logic Programs. ICLP 90, MIT Press, 1990.

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