Skip to main content

The Boolean logic of set sharing analysis

  • Conference paper
  • First Online:
Book cover Principles of Declarative Programming (ALP 1998, PLILP 1998)

Abstract

We show that Jacobs and Langen's domain for set-sharing analysis is isomorphic to the domain of positive Boolean functions, introduced by Marriott and Søndergaard for groundness dependency analysis. Viewing a set-sharing description as a minterm representation of a Boolean function leads to re-casting sharing analysis as an instantiation dependency analysis. The key idea is to view the sets of variables in a sharing domain element as the models of a Boolean function. In this way, sharing sets are precisely dual negated positive Boolean functions. This new view improves our understanding of sharing analysis considerably and opens up new avenues for the efficient implementation of this kind of analysis, for example using ROBDDs. To this end we express Jacobs and Langen's abstract operations for set sharing in logical form.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Two classes of Boolean functions for dependency analysis. Science of Computer Programming, 31(1):3–45, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  2. R. Bagnara, P. Hill, and E. Zaffanella. Set-sharing is redundant for pair-sharing. In P. Van Hentenryck, editor, Static Analysis: Proc. Fourth Int. Symp., volume 1302 of Lecture Notes in Computer Science, pages 53–67. Springer, 1997.

    Google Scholar 

  3. F. M. Brown. Boolean Reasoning: The Logic of Boolean Equations. Kluwer Academic Publ., 1990.

    Google Scholar 

  4. R. Bryant. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293–318, 1992.

    Article  Google Scholar 

  5. A. Cortesi, G. Filé, R. Giacobazzi, C. Palamidessi, and F. Ranzato. Complementation in abstract interpretation. In A. Mycroft, editor, Static Analysis: Proc. Second Int. Symp., volume 983 of Lecture Notes in Computer Science, pages 100–117. Springer, 1995.

    Google Scholar 

  6. A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Prepositional formula as abstract domain for groundness analysis. In Proceedings, Sixth Annual IEEE Symposium on Logic in Computer Science, pages 322–327, Amsterdam, The Netherlands, July 15–18 1991. IEEE Computer Society Press.

    Google Scholar 

  7. A. Cortesi, G. Filé, and W. Winsborough. Comparison of abstract interpretations. In W. Kuich, editor, Automata, Languages and Programming: Proc. Nineteenth Int. Coll., volume 623 of Lecture Notes in Computer Science, pages 521–532. Springer-Verlag, 1992.

    Google Scholar 

  8. A. Cortesi, G. Filé, and W. Winsborough. Optimal groundness analysis using prepositional logic. Journal of Logic Programming, 27(2):137–167, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  9. P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. Fourth ACM Symp. Principles of Programming Languages, pages 238–252. ACM Press, 1977.

    Google Scholar 

  10. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2–3):103–179, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  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, Logic Programming: Proc. North American Conf. 1989, pages 154–165. MIT Press, 1989.

    Google Scholar 

  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.

    Article  MATH  Google Scholar 

  13. A. Langen. Advanced Techniques for Approximating Variable Aliasing in Logic Programs. PhD thesis, University of Southern California, California, 1991.

    Google Scholar 

  14. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.

    Google Scholar 

  15. K. Marriott and H. Søndergaard. Notes for a tutorial on abstract interpretation of logic programs. Tutorial Notes for 1989 North American Conf. Logic Programming. Assoc. for Logic Programming, 1989.

    Google Scholar 

  16. K. Marriott and H. Søndergaard. Precise and efficient groundness analysis for logic programs. ACM Letters on Programming Languages and Systems, 2(1–4):181–196, 1993.

    Article  Google Scholar 

  17. H. Søndergaard. An application of abstract interpretation of logic programs: Occur check reduction. In B. Robinet and R. Wilhelm, editors, Proc. ESOP 86, volume 213 of Lecture Notes in Computer Science, pages 327–338. Springer-Verlag, 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Catuscia Palamidessi Hugh Glaser Karl Meinke

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Codish, M., Søndergaard, H. (1998). The Boolean logic of set sharing analysis. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056609

Download citation

  • DOI: https://doi.org/10.1007/BFb0056609

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65012-6

  • Online ISBN: 978-3-540-49766-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics