Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bagnara, R., Hill, P.M., Zaffanella, E.: Set-sharing is redundant for pair-sharing. In: Static Analysis Symposium, pp. 53–67. Springer, Heidelberg (1997)
Bagnara, R., Hill, P.M., Zaffanella, E.: Set-sharing is redundant for pair-sharing. Theoretical Computer Science 277(1-2), 3–46 (2002)
Bruynooghe, M., Codish, M.: Freeness, sharing, linearity and correctness — all at once. In: International Workshop on Static Analysis (1993)
Bueno, F., Garcia de la Banda, M., Hermenegildo, M.: The PLAI Abstract Interpretation System. Technical Report CLIP2/94.0, Computer Science Dept., Technical U. of Madrid (UPM) (February 1994)
Bueno, F., Garcia de la Banda, M., Hermenegildo, M.: Effectiveness of Abstract Interpretation in Automatic Parallelization: A Case Study in Logic Programming. ACM Transactions on Programming Languages and Systems 21(2), 189–238 (1999)
Cabeza, D., Hermenegildo, M.: Extracting Non-strict Independent And parallelism Using Sharing and Freeness Information. In: LeCharlier, B. (ed.) SAS 1994. LNCS, vol. 864, pp. 297–313. Springer, Heidelberg (1994)
Codish, M., Mulkers, A., Bruynooghe, M., Garcia de la Banda, M., Hermenegildo, M.: Improving Abstract Interpretations by Combining Domains. ACM Transactions on Programming Languages and Systems 17(1), 28–44 (1995)
Codish, M., Søndergaard, H., Stuckey, P.J.: Sharing and groundness dependencies in logic programs. ACM Transactions on Programming Languages and Systems 21(5), 948–976 (1999)
Conery, J.S.: The And/Or Process Model for Parallel Interpretation of Logic Programs. PhD thesis, The University of California At Irvine, Technical Report 204 (1983)
Cortesi, A., Filé, G., Winsborough, W.: The quotient of an abstract interpretation for comparing static analyses. In: GULP-PRODE 1994 Joint Conference on Declarative Programming, pp. 372–397 (1994)
Cousot, P., Cousot, R.: Systematic Design of Program Analysis Frameworks. In: Sixth ACM Symposium on Principles of Programming Languages, San Antonio, Texas, pp. 269–282 (1979)
DeGroot, D.: A Technique for Compiling Execution Graph Expressions for Restricted AND-parallelism in Logic Programs. In: Int’l. Supercomputing Conference, pp. 80–89. Springer, Heidelberg (1987)
Garcia de la Banda, M., Bueno, F., Hermenegildo, M.: Towards Independent And-Parallelism in CLP. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 77–91. Springer, Heidelberg (1996)
Garcia de la Banda, M., Hermenegildo, M., Marriott, K.: Independence in CLP Languages. ACM Transactions on Programming Languages and Systems 22(2), 296–339 (2000)
Garcia de la Banda, M., Marriott, K., Stuckey, P.: Efficient Analysis of Constraint Logic Programs with Dynamic Scheduling. In: 1995 International Logic Programming Symposium, December 1995. MIT Press, Cambridge (1995)
Hermenegildo, M., Rossi, F.: Strict and Non-Strict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions. Journal of Logic Programming 22(1), 1–45 (1995)
Jacobs, D., Langen, A.: Accurate and Efficient Approximation of Variable Aliasing in Logic Programs. In: 1989 North American Conference on Logic Programming, October 1989. MIT Press, Cambridge (1989)
Jacobs, D., Langen, A.: Static Analysis of Logic Programs for Independent And-Parallelism. Journal of Logic Programming 13(2,3), 291–314 (1992)
King, A., Soper, P.: Depth-k Sharing and Freeness. In: International Conference on Logic Programming, June 1995. MIT Press, Cambridge (1995)
King, A., Smaus, J.-G., Hill, P.M.: Quotienting share for dependency analysis. In: European Symposium on Programming, pp. 59–73 (1999)
Lagoon, V., Stuckey, P.J.: Precise pair-sharing analysis of logic programs. In: ACM SIGPLAN international conference on Principles and practice of declarative programming, pp. 99–108 (2002)
Levi, G., Spoto, F.: Non pair-sharing and freeness analysis through linear refinement. In: Partial Evaluation and Semantic-Based Program Manipulation, pp. 52–61 (2000)
Mulkers, A., Winsborough, W., Bruynooghe, M.: Analysis of Shared Data Structures for Compile-Time Garbage Collection in Logic Programs. In: Seventh International Conference on Logic Programming, June 1990, pp. 747–762. MIT Press, Cambridge (1990)
Muthukumar, K., Bueno, F., Garcia de la Banda, M., Hermenegildo, M.: Automatic Compile-time Parallelization of Logic Programs for Restricted, Goallevel, Independent And-parallelism. Journal of Logic Programming 38(2), 165–218 (1999)
Muthukumar, K., Hermenegildo, M.: Combined Determination of Sharing and Freeness of Program Variables Through Abstract Interpretation. In: 1991 International Conference on Logic Programming, June 1991, pp. 49–63. MIT Press, Cambridge (1991)
Plaisted, D.A.: The occur-check problem in prolog. In: International Symposium on Logic Programming, pp. 272–281. IEEE, Los Alamitos (1984)
Søndergaard, H.: An application of abstract interpretation of logic programs: occur check reduction. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 327–338. Springer, Heidelberg (1986)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bueno, F., Garcia de la Banda, M. (2004). Set-Sharing Is Not Always Redundant for Pair-Sharing. In: Kameyama, Y., Stuckey, P.J. (eds) Functional and Logic Programming. FLOPS 2004. Lecture Notes in Computer Science, vol 2998. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24754-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-24754-8_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21402-1
Online ISBN: 978-3-540-24754-8
eBook Packages: Springer Book Archive