Advertisement

Positive Boolean Functions as Multiheaded Clauses

  • Jacob M. Howe
  • Andy King
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2237)

Abstract

Boolean functions are ubiquitous in the analysis of (constraint) logic programs.The domain of positive Boolean functions, Pos, has been used for expressing, for example, groundness, finiteness and sharing dependencies. The performance of an analyser based on Boolean functions is critically dependent on the way in which the functions are represented. This paper discusses multiheaded clauses as a representation of positive Boolean functions. The domain operations for multiheaded clauses are conceptually simple and can be implemented straightforwardly in Prolog. Moreo ver these operations generalise those for the less algorithmically complex operations of propositional Horn clauses, leading to naturally stratified algorithms. The multiheaded clause representation is used to build a pos-based groundness analyser. The analyser performs surprisingly well and scales smoothly, not requiring widening to analyse any program in the benchmark suite.

Keywords

Abstract interpretation (constraint) logic programs Boolean functions groundness analysis 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    R. Bagnara and P. Schachte. Factorizing Equivalent Variable Pairs in ROBDDBased Implementations of Pos.In Seventh International Conference on Algebraic Methodology and Software Technology, volume 1548 of Lecture Notes in Computer Science, pages 471–485. Springer-Verlag, 1999.CrossRefGoogle Scholar
  3. 3.
    P. Bigot, S. Debray, and K. Marriott. Understanding Finiteness Analysis using Abstract Interpretation. In Joint International Conference and Symposium on Logic Programming, pages 735–749. MIT Press, 1992.Google Scholar
  4. 4.
    F. Bueno, D. Cabeza, M. Hermenegildo, and G. Puebla. Global Analysis of Standard Prolog Programs. In European Symposium on Programming, volume 1058 of Lecture Notes in Computer Science, pages 108–124. Springer-Verlag, 1996.Google Scholar
  5. 5.
    M. Codish. Efficient Goal Directed Bottom-up Evaluation of Logic Programs. Journal of Logic Programming, 38(3):355–370, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    M. Codish. Worst-Case Groundness Analysis using Positive Boolean Functions. Journal of Logic Programming, 41(1):125–128, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    M. Codish and B. Demoen. Analysing Logic Programs using “prop”-ositional Logic Programs and a Magic Wand. Journal of Logic Programming, 25(3):249–274, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    M. Codish, H. Søndergaard, and P. Stuckey. Sharing and Groundness Dependencies in Logic Programs. ACM Transactions on Programming Languages and Systems, 21(5):948–976, 1999.CrossRefGoogle Scholar
  9. 9.
    P. Dart. On Derived Dependencies and Connected Databases. Journal of Logic Programming, 11(1–2):163–188, 1991.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    C. Fecht. Abstrakte Interpretation logischer Programme: Theorie, Implementierung, Generierung. PhD thesis, Universität des Saarlandes, 1997.Google Scholar
  11. 11.
    C. Fecht and H. Seidl. A Faster Solver for General Systems of Equations. Science of Computer Programming, 35(2–3):137–162, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    M. García de la Banda, M. Hermenegildo, M. Bruynooghe, V. Dumortier, G. Janssens, and W. Simoens. Global Analysis of Constraint Logic Programs. ACM Transactions on Programming Languages and Systems, 18(5):564–614, 1996.CrossRefGoogle Scholar
  13. 13.
    S. Genaim and M. Codish. The Def-inite Approach to Dependency Analysis. In European Symposium on Programming, volume 2028 of Lecture Notes in Computer Science, pages 417–32. Springer-Verlag, 2001.Google Scholar
  14. 14.
    S. Genaim, J.M. Howe, and M. Codish. Worst-Case Groundness Analysis using Definite Boolean Functions. Theory and Practice of Logic Programming, 2001. Forthcoming.Google Scholar
  15. 15.
    R. Giacobazzi, S. Debray, and G. Levi. Generalized Semantics and Abstract Interpretation for Constraint Logic Programs. Journal of Logic Programming, 25(3):191–247, 1995.zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    R. Giacobazzi and F. Scozzari. A Logical Model for Relational Abstract Domains. ACM Transactions on Programming Languages and Systems, 20(5):1067–1109, 1998.CrossRefGoogle Scholar
  17. 17.
    A. Heaton, M. Abo-Zaed, M. Codish, and A. King. A Simple Polynomial Groundness Analysis for Logic Programs. Journal of Logic Programming, 45(1–3):143–156, 2000.zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    M. Hermenegildo, G. Puebla, K. Marriot, and P. Stuckey. Incremental Analysis of Constraint Logic Programs. ACM Transaction on Programming Languages and Systems, 22(2):187–223, 2000.CrossRefGoogle Scholar
  19. 19.
    J.M. Howe and A. King. Implementing Groundness Analysis with Definite Boolean Functions. In European Symposium on Programming, volume 1782 of Lecture Notes in Computer Science, pages 200–214. Springer-Verlag, 2000. Available at http://www.cs.ukc.ac.uk/pubs/2000/949/.Google Scholar
  20. 20.
    A. King and L. Lu. A Backwards Analysis for Constraint Logic Programs. Technical Report 4-01, University of Kent, 2001.Google Scholar
  21. 21.
    K. Marriott and H. Søndergaard. Precise and E.cient Groundness Analysis for Logic Programs. ACM Letters on Programming Languages and Systems, 2(4):181–196, 1993.CrossRefGoogle Scholar
  22. 22.
    G. Plotkin. A Note on Inductive Generalisation. Machine Intelligence, 5:153–163, 1970.MathSciNetGoogle Scholar
  23. 23.
    P. Schachte. Precise and E.cient Static Analysis of Logic Programs. PhD thesis, Department of Computer Science, The University of Melbourne, Australia, 1999.Google Scholar
  24. 24.
    P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Evaluation of the Domain Prop. Journal of Logic Programming, 23(3):237–278, 1995.zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Jacob M. Howe
    • 1
  • Andy King
    • 2
  1. 1.Department of ComputingCity UniversityLondonUK
  2. 2.Computing LaboratoryUniversity of KentCanterburyUK

Personalised recommendations