skip to main content
article
Free Access

Precise and efficient groundness analysis for logic programs

Published:01 March 1993Publication History
Skip Abstract Section

Abstract

We show how precise groundness information can be extracted from logic programs. The idea is to use abstract interpretation with Boolean functions as “approximations” to groundness dependencies between variables. This idea is not new, and different classes of Boolean functions have been used. We argue, however, that one class, the positive functions, is more suitable than others. Positive Boolean functions have a certain property which we (inspired by A. Langen) call “condensation.” This property allows for rapid computation of groundness information.

References

  1. BRYANT, R. 1992. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24, 3, 293-318. Google ScholarGoogle Scholar
  2. CLARK, K. 1978. Negation as failure. In Logic and Databases. Plenum Press, New York, 293-322.Google ScholarGoogle Scholar
  3. CODISH, M., AND DEMOEN, B. 1993. Analysing logic programs using "Prop"-ositional logic programs and a magic wand. in Proceedings of the International Logic Programming Symposium. (Vancouver, Canada). To be published. Google ScholarGoogle Scholar
  4. CODISH, M., DEBRAY, S., AND GIACOBAZZI, R. 1993. Compositional analysis of modular logic programs. In Proceedings of the 20th ACM Symposium on Principles of Programming Languages, ACM, New York, 451-464. Google ScholarGoogle Scholar
  5. CORTESI, A., FILI~, G., AND WINSBOROUGH, W. 1991. Prop revisited: Propositional formula as abstract domain for groundness analysis. In Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science. IEEE, New York, 322-327.Google ScholarGoogle Scholar
  6. COUSOT, P., AND COUSOT, R. 1979. Systematic design of program analysis frameworks. In Proceedings of the 6th Annual ACM Symposium on Principles of Programming Languages. ACM, New York, 269-282. Google ScholarGoogle Scholar
  7. DART, P. 1991. On derived dependencies and connected databases. J. Logic Program. 11, 2, 163-188. Google ScholarGoogle Scholar
  8. DART, P. 1988. Dependency analysis and query interfaces for deductive databases. Ph.D. thesis, The Univ. of Melbourne, Melbourne, Australia.Google ScholarGoogle Scholar
  9. DEBRAY, S. 1992. On the complexity of dataflow analysis of logic programs. In Proceedings of the 19th International Coll. on Automata, Languages and Programming. Lecture Notes in Computer Science, vol. 623. Springer-Verlag, New York, 509-520. Google ScholarGoogle Scholar
  10. JACOBS, D., AND LANGEN, A. 1992. Static analysis of logic programs for independent AND parallelism. J. Logic Programm. 13, 2 and 3, 291-314. Google ScholarGoogle Scholar
  11. JONES, N. D., AND S~NDERGAARD, H. 1987. A semantics-based framework for the abstract interpretation of Prolog. In Abstract Interpretation of Declarative Languages. Ellis Horwood, Chichester, U.K., 123-142.Google ScholarGoogle Scholar
  12. LANGEN, A. 1991. Advanced techniques for approximating variables in logic programs. Ph.D. thesis, Univ. of Southern California, Los Angeles. Google ScholarGoogle Scholar
  13. LE CHARLIER, B., AND VAN HENTENRYCK, P. 1993. Groundness analysis for Prolog: Implementation and evaluation of the domain Prop. in Proceedings of the ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation (Copenhagen, Denmark) ACM, New York, 99-110. Google ScholarGoogle Scholar
  14. MARRIOTT, K., AND S~NDERGAARD, H. 1993. On propagation-based analysis of logic programs. Tech. Rep. 93/8, Dept. of Computer Science, Univ. of Melbourne, Melbourne, Australia.Google ScholarGoogle Scholar
  15. MARRIOTT, K., AND S~NDERGAARD, H. 1989a. Notes for a tutorial on abstract interpretation of logic programs. Presented to North American Conference on Logic Programming (Cleveland, Ohio).Google ScholarGoogle Scholar
  16. MARRIOTT, K., AND S~NDERGAARD, H. 1989b. Semantics-based dataflow analysis of logic programs. In Information Processing 89. North-Holland, Amsterdam, 601-606.Google ScholarGoogle Scholar
  17. MARRIOTT, K., S~ NDERGAARD, H., AND JONES, N.D. 1993. Denotational abstract interpretation of logic programs. ACM Trans. Program. Lang. Syst. To be published. Google ScholarGoogle Scholar
  18. MELLISH, C. 1985. Some global optimizations for a Prolog compiler. J. Logic Program. 2, 1, 43-66.Google ScholarGoogle Scholar
  19. NILSSON, U. 1991. Abstract interpretation: A kind of magic. In Programming Language Implementation and Logtc Programming. Lecture Notes in Computer Science, vol. 528. Springer-Verlag, New York, 299-309. Google ScholarGoogle Scholar

Index Terms

  1. Precise and efficient groundness analysis for logic programs

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!