Set-Sharing Is Not Always Redundant for Pair-Sharing

Sharing among program variables is vital information when analyzing logic programs. This information is often expressed either as sets or as pairs of program variables that (may) share. That is, either as set-sharing or as pair-sharing. It has been recently argued that (a) set-sharing is interesting not as an observable property in itself, but as an encoding for accurate pair-sharing, and that (b) such an encoding is in fact redundant and can be significantly simplified without loss of pair-sharing accuracy. We show that this is not the case when set-sharing is combined with other kinds of information, such as the popular freeness.

[1]  Agostino Cortesi,et al.  The Quotient of an Abstract Interpretation for Comparing Static Analyses , 1994, GULP-PRODE.

[2]  Peter J. Stuckey,et al.  Sharing and groundness dependencies in logic programs , 1999, TOPL.

[3]  Manuel V. Hermenegildo,et al.  Automatic Compile-Time Parallelization of Logic Programs for Restricted, Goal Level, Independent and Parallelism , 1999, J. Log. Program..

[4]  Manuel V. Hermenegildo,et al.  Combined Determination of Sharing and Freeness of Program Variables through Abstract Interpretation , 1991, ICLP.

[5]  Andy King,et al.  Depth-k Sharing and Freeness , 1994, ICLP.

[6]  Peter J. Stuckey,et al.  Precise pair-sharing analysis of logic programs , 2002, PPDP '02.

[7]  Andy King,et al.  Quotienting Share for Dependency Analysis , 1999, ESOP.

[8]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[9]  Francesca Rossi,et al.  Strict and Nonstrict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions , 1995, J. Log. Program..

[10]  Kim Marriott,et al.  Independence in CLP languages , 2000, TOPL.

[11]  Maurice Bruynooghe,et al.  Analysis of Shared Data Structures for Compile-Time Garbage , 1990, ICLP.

[12]  Manuel V. Hermenegildo,et al.  Extracting Non-Strict Independent And-Parallelism Using Sharing and Freeness Information , 1994, SAS.

[13]  John S. Conery,et al.  The and/or process model for parallel interpretation of logic programs , 1983 .

[14]  Manuel V. Hermenegildo,et al.  Effectivness of abstract interpretation in automatic parallelization: a case study in logic programming , 1999, TOPL.

[15]  Giorgio Levi,et al.  Non Pair-Sharing and Freeness Analysis Through Linear Refinement , 1999, PEPM.

[16]  Dean Jacobs,et al.  Static Analysis of Logic Programs for Independent And-Parallelism , 1992, J. Log. Program..

[17]  Roberto Bagnara,et al.  Set-Sharing is Redundant for Pair-Sharing , 1997, SAS.

[18]  Peter J. Stuckey,et al.  Efficient Analysis of Logic Programs with Dynamic Scheduling , 1995, ILPS.

[19]  Dean Jacobs,et al.  Accurate and Efficient Approximation of Variable Aliasing in Logic Programs , 1989, NACLP.

[20]  Harald Søndergaard,et al.  An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction , 1986, ESOP.

[21]  Manuel V. Hermenegildo,et al.  Towards Independent And-Parallelism in CLP , 1996, PLILP.

[22]  Maurice Bruynooghe,et al.  Improving abstract interpretations by combining domains , 1995, TOPL.

[23]  Maurice Bruynooghe,et al.  Freeness, Sharing, Linearity and Correctness - All at Once , 1993, WSA.

[24]  Doug DeGroot A Technique for Compiling Execution Graph Expressions for Restricted and Parallelism in Logic Programs , 1987, ICS.