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.
- BRYANT, R. 1992. Symbolic Boolean manipulation with ordered binary-decision diagrams. ACM Comput. Surv. 24, 3, 293-318. Google Scholar
- CLARK, K. 1978. Negation as failure. In Logic and Databases. Plenum Press, New York, 293-322.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- DART, P. 1991. On derived dependencies and connected databases. J. Logic Program. 11, 2, 163-188. Google Scholar
- DART, P. 1988. Dependency analysis and query interfaces for deductive databases. Ph.D. thesis, The Univ. of Melbourne, Melbourne, Australia.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- LANGEN, A. 1991. Advanced techniques for approximating variables in logic programs. Ph.D. thesis, Univ. of Southern California, Los Angeles. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- MARRIOTT, K., AND S~NDERGAARD, H. 1989b. Semantics-based dataflow analysis of logic programs. In Information Processing 89. North-Holland, Amsterdam, 601-606.Google Scholar
- 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 Scholar
- MELLISH, C. 1985. Some global optimizations for a Prolog compiler. J. Logic Program. 2, 1, 43-66.Google Scholar
- 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 Scholar
Index Terms
Precise and efficient groundness analysis for logic programs
Recommendations
Sharing and groundness dependencies in logic programs
We investigate Jacobs and Langen's Sharing domain, introduced for the analysis of variable sharing in logic programs, and show that it is isomorphic to Marriott and Søndergaard's Pos domain, introduced for the analysis of groundness dependencies. Our ...
Efficient groundness analysis in Prolog
Boolean functions can be used to express the groundness of, and trace grounding dependencies between, program variables in (constraint) logic programs. In this paper, a variety of issues pertaining to the efficient Prolog implementation of groundness ...
A backward analysis for constraint logic programs
One recurring problem in program development is that of understanding how to re-use code developed by a third party. In the context of (constraint) logic programming, part of this problem reduces to figuring out how to query a program. If the logic ...






Comments