School Homepage

Papers of Patricia M. Hill

Software Support for CLP: Papers

Technical Reports at Leeds

Widening Sharing

[Page last updated on 2000/10/25.]

Enea Zaffanella
Dipartimento di Matematica
Università di Parma
Via D'Azeglio, 85/A
I-43100 Parma
Italy

Roberto Bagnara
Dipartimento di Matematica
Università di Parma
Via D'Azeglio, 85/A
I-43100 Parma
Italy

Patricia M. Hill
School of Computer Studies
The University of Leeds
Leeds LS2 9JT
England

Abstract:

We study the problem of an efficient and precise sharing analysis of (constraint) logic programs. After recognizing that neither plain Sharing nor its non-redundant (but equivalent) abstraction scale well to real programs, we consider the domain proposed by C. Fecht [1,2]. This domain consists of a combination of Pos with a quite weak abstraction of Sharing. While verifying that this domain is truly remarkable, in terms of both precision and efficiency, we have revealed significant precision losses for several real programs. This loss concerns groundness, pair-sharing, linearity, but not freeness. (Indeed, we have proved that a wide family of abstractions of Sharing do not incur precision loss on freeness.) We define a simple domain for sharing analysis that supports the implementation of several widening techniques. In particular, with this domain it is straightforward to turn Fecht's idea into a proper widening. More precise widenings are also considered. However, in spite of thorough experimentation we found that the first widening we propose is hard to improve on, provided Pos is included in the domain. We show that when Pos is not included, a widening based on cliques of sharing pairs is preferred.

References

1
C. Fecht
An Efficient and Precise Sharing Domain for Logic Programs
In PLILP96, H. Kuchen and S. D. Swierstra (eds), Springer-Verlag, pages 469-470

References

2
C. Fecht
Efficient and Precise Sharing Domains for Logic Programs
Technical Report A/04/96, Universitat des Saarlandes, Fachbereich 14 Informatik, 1996


Available: Gzipped Postscript and BibTeX entry.