Skip to main content

Boolean functions for dependency analysis: Algebraic properties and efficient representation

  • Conference paper
  • First Online:
Static Analysis (SAS 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 864))

Included in the following conference series:

Abstract

Many analyses for logic programming languages use Boolean functions to express dependencies between variables or argument positions. Examples include groundness analysis, arguably the most important analysis for logic programs, finiteness analysis and functional dependency analysis. We identify two classes of Boolean functions that have been used: positive and definite functions, and we systematically investigate these classes and their efficient implementation for dependency analyses. We provide syntactic characterizations and study their algebraic properties. In particular, we show that both classes are closed under existential quantification. We investigate representations for these classes based on: reduced ordered binary decision diagrams (ROBDDs), disjunctive normal form, conjunctive normal form, Blake canonical form, dual Blake canonical form, and a form specific to definite functions. We give an empirical comparison of these different representations for groundness analysis.

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. Technical Report 94/10, Dept. of Computer Science, The University of Melbourne, Australia, 1994.

    Google Scholar 

  2. N. Baker and H. Søndergaard. Definiteness analysis for CLP(-280-01). In G. Gupta, G. Mohay and R. Topor, editors, Proc. Sixteenth Australian Computer Science Conf., pages 321–332. Brisbane, Qld., January 1993.

    Google Scholar 

  3. P. Bigot, S. Debray and K. Marriott. Understanding finiteness analysis using abstract interpretation. In K. Apt, editor, Logic Programming: Proc. Joint Int. Conf. Symp., pages 735–749. MIT Press, 1992.

    Google Scholar 

  4. K. Brace, R. Rudell and R. Bryant. Efficient implementation of a BDD package. Proc. 27th ACM/IEEE Design Automation Conf., pages 40–45. IEEE Comp. Soc. Press, 1990.

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  7. K. Clark. Negation as failure. In H. Gallaire and J. Minker, editors, Logic and Databases, pages 293–322. Plenum Press, 1978.

    Google Scholar 

  8. M. Codish and B. Demoen. Analysing logic programs using “Prop”-ositional logic programs and a magic wand. In D. Miller, editor, Logic Programming: Proc. 1993 Int. Symp., pages 114–129. MIT Press, 1993.

    Google Scholar 

  9. A. Cortesi, G. Filé and W. Winsborough. Prop revisited: Propositional formula as abstract domain for groundness analysis. Proc. Sixth Ann. IEEE Symp. Logic in Computer Science, pages 322–327. Amsterdam, The Netherlands, 1991.

    Google Scholar 

  10. P. Dart. Dependency Analysis and Query Interfaces for Deductive Databases. PhD thesis, The University of Melbourne, Australia, 1988.

    Google Scholar 

  11. P. Dart. On derived dependencies and connected databases. Journal of Logic Programming 11 (2): 163–188, 1991.

    Article  Google Scholar 

  12. W. Dowling, and J. Gallier. Linear-time algorithms for testing the satisfiability of propositional Horn formulae. Journal of Logic Programming 1 (3): 267–284, 1984.

    Article  Google Scholar 

  13. B. Le Charlier and P. Van Hentenryck. Groundness analysis for Prolog: Implementation and evaluation of the domain Prop. Proc. ACM Symp. Partial Evaluation and Semantics-Based Program Manipulation, pages 99–110, Copenhagen, Denmark, June 1993.

    Google Scholar 

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

    Google Scholar 

  15. K. Marriott, H. Søndergaard, and N. D. Jones Denotational abstract interpretation of logic programs. To appear in ACM Trans. Programming Languages and Systems.

    Google Scholar 

  16. W. V. Quine. Methods of Logic. Harvard University Press, Fourth ed., 1982.

    Google Scholar 

  17. R. Ramakrishnan, F. Bancilhon and A. Silberschatz. Safety of recursive Horn clauses with infinite relations. Proc. Sixth A CM Symp. Principles of Database Systems, pages 328–339. ACM Press, 1987.

    Google Scholar 

  18. J. Zobel. Analysis of Logic Programs. PhD Thesis, The University of Melbourne, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Baudouin Le Charlier

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Armstrong, T., Marriott, K., Schachte, P., Søndergaard, H. (1994). Boolean functions for dependency analysis: Algebraic properties and efficient representation. In: Le Charlier, B. (eds) Static Analysis. SAS 1994. Lecture Notes in Computer Science, vol 864. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58485-4_46

Download citation

  • DOI: https://doi.org/10.1007/3-540-58485-4_46

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58485-8

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics