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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
F. M. Brown. Boolean Reasoning: The Logic of Boolean Equations. Kluwer Academic Publ., 1990.
R. Bryant. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys, 24(3):293–318, 1992.
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.
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.
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.
A. Cortesi, G. Filé, and W. Winsborough. Optimal groundness analysis using prepositional logic. Journal of Logic Programming, 27(2):137–167, 1996.
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.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2–3):103–179, 1992.
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.
D. Jacobs and A. Langen. Static analysis of logic programs for independent and parallelism. Journal of Logic Programming, 13(2 & 3):291–314, 1992.
A. Langen. Advanced Techniques for Approximating Variable Aliasing in Logic Programs. PhD thesis, University of Southern California, California, 1991.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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