Set-sharing is redundant for pair-sharing

  • Roberto Bagnara
  • Patricia M. Hill
  • Enea Zaffanella
Logic Programming I
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1302)

Abstract

Although the usual goal of sharing analysis is to detect which pairs of variables share, the standard choice for sharing analysis is a domain that characterizes set-sharing. In this paper, we question, apparently for the first time, whether this domain is over-complex for pair-sharing analysis. We show that the answer is yes. By defining an equivalence relation over the set-sharing domain we obtain a simpler domain, reducing the complexity of the abstract unification procedure. We present preliminary experimental results, showing that, in practice, our do main compares favorably with the set-sharing one over a wide range of benchmark programs.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    R. Bagnara. Data-Flow Analysis for Constraint Logic-Based Languages. PhD thesis, Dipartimento di Informatica, Universith di Pisa, Corso Italia 40, I-56125 Pisa, Italy, March 1997. Printed as Report TD-1/97.Google Scholar
  2. 2.
    R. Bagnara, P. M. Hill, and E. Zaffanelia. Sharing revisited. Technical Report 97.19, School of Computer Studies, University of Leeds, 1997.Google Scholar
  3. 3.
    M. Bruynooghe and M. Codish. Freeness, sharing, linearity and correctness — All at once. In P. Cousot, M. Falaschi, G. Filé, and A. Rauzy, editors, Static Analysis, Proceedings of the Third International Workshop, volume 724 of Lecture Notes in Computer Science, pages 153–164, Padova, Italy, 1993. Springer-Verlag, Berlin.Google Scholar
  4. 4.
    M Bruynooghe, M. Codish, and A. Mulkers. Abstract unification for a composite domain deriving sharing and freeness properties of program variables. In F. S. de Boer and M. Gabbrielli, editors, Verification and Analysis of Logic Languages, Proceedings of the W2 Post-Conference Workshop, International Conference on Logic Programming, pages 213–230, Santa Margherita Ligure, Italy, 1994.Google Scholar
  5. 5.
    M. Codish, D. Dams, G. Filé, and M. Bruynooghe. Freeness analysis for logic programs-and correctness? In D. S. Warren, editor, Logic Programming: Proceedings of the Tenth International Conference on Logic Programming, MIT Press Series in Logic Programming, pages 116–131, Budapest, Hungary, 1993. The MIT Press.Google Scholar
  6. 6.
    A. Cortesi and G. Filé. Comparison and design of abstract domains for sharing analysis. In D. Saccà, editor, Proceedings of the “Eighth Italian Conference on Logic Programming (GULP'93)”, pages 251–265, Gizzeria, Italy, 1993. Mediterranean Press.Google Scholar
  7. 7.
    A. Cortesi, G. Filé, and W. Winsborough. The quotient of an abstract interpretation for comparing static analyses. In M. Alpuente, R. Barbuti, and I. Ramos, editors, Proceedings of the “1994 Joint Conference on Declarative Programming (GULP-PRODS '94)”, pages 372–397, Peñíscola, Spain, September 1994. An extended version will appear in Theoretical Computer Science.Google Scholar
  8. 8.
    A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Conceptual and software support for abstract domain design: Generic structural domain and open product. Technical Report CS-93-13, Brown University, Providence, RI, 1993.Google Scholar
  9. 9.
    A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combinations of abstract domains for logic programming. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 227–239, Portland, Oregon, 1994.Google Scholar
  10. 10.
    G. Filé. Share x Free: Simple and correct. Technical Report 15, Dipartimento di Matematica, Università di Padova, December 1994.Google Scholar
  11. 11.
    D. Jacobs and A. Langen. Accurate and efficient approximation of variable aliasing in logic programs. In E. L. Lusk and R. A. Overbeek, editors, Proceedings of the North American Conference on Logic Programming, pages 154–165. The MIT Press, Cambridge, Mass., 1989.Google Scholar
  12. 12.
    D. Jacobs and A. Langen. Static analysis of logic programs for independent AND parallelism. Journal of Logic Programming, 13(2&3):291–314, 1992.Google Scholar
  13. 13.
    A. King. A synergistic analysis for sharing and groundness which traces linearity. In D. Sannella, editor, Proceedings of the Fifth European Symposium on Programming, volume 788 of Lecture Notes in Computer Science, pages 363–378, Edinburgh, UK, 1994. Springer-Verlag, Berlin.Google Scholar
  14. 14.
    A. King and P. Soper. Depth-k sharing and freeness. In P. Van Hentenryck, editor, Logic Programming: Proceedings of the Eleventh International Conference on Logic Programming, MIT Press Series in Logic Programming, pages 553–568, Santa Margherita Ligure, Italy, 1994. The MIT Press.Google Scholar
  15. 15.
    A. Langen. Static Analysis for Independent And-Parallelism in Logic Programs. PhD thesis, University of Southern California, 1990.Google Scholar
  16. 16.
    K. Muthukumar and M. Hermenegildo. Combined determination of sharing and freeness of program variables through abstract interpretation. In K. Furukawa, editor, Logic Programming: Proceedings of the Eighth International Conference on Logic Programming, MIT Press Series in Logic Programming, pages 49–63, Paris, France, 1991. The MIT Press.Google Scholar
  17. 17.
    H. Sondergaard. An application of abstract interpretation of logic programs: Occur check reduction. In Proceedings of the 1986 European Symposium on Programming, volume 213 of Lecture Notes in Computer Science, pages 327–338. Springer-Verlag, Berlin, 1986.Google Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  • Roberto Bagnara
    • 1
  • Patricia M. Hill
    • 1
  • Enea Zaffanella
    • 2
    • 3
  1. 1.School of Computer StudiesUniversity of LeedsLeedsUK
  2. 2.Servizio IX AutomazioneUniversità degli Studi di ModenaItaly
  3. 3.Dipartimento di InformaticaUniversità di PisaItaly

Personalised recommendations