ACM Home Page
Please provide us with feedback. Feedback
Efficient dataflow analysis of logic programs
Full text PdfPdf (2.83 MB)
Source Journal of the ACM (JACM) archive
Volume 39 ,  Issue 4  (October 1992) table of contents
Pages: 949 - 984  
Year of Publication: 1992
ISSN:0004-5411
Author
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 23,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/146585.146624
What is a DOI?

ABSTRACT

A framework for efficient dataflow analyses of logic programs is investigated. A number of problems arise in this context: aliasing effects can make analysis computationally expensive for sequential logic programming languages; synchronization issues can complicate the analysis of parallel logic programming languages; and finiteness restrictions to guarantee termination can limit the expressive power of such analyses. Our main result is to give a simple characterization of a family of flow analyses where these issues can be ignored without compromising soundness. This results in algorithms that are simple to verify and implement, and efficient in execution. Based on this approach, we describe an efficient algorithm for flow analysis of sequential logic programs, extend this approach to handle parallel executions, and finally describe how infinite chains in the analysis domain can be accommodated without compromising termination.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
~BANSAL, A. K., AND STERLING, L. An abstract interpretation scheme for logic programs ~based on type expression. In Proceedings of the International Conference on Fifth Generation ~Computer Systems. ICOT, Tokyo, Japan, 1988, pp. 422-429.
 
3
~BARBUTI, R., GIACOBAZZI, R., AND LEVI, G. A declarative approach to abstract interpreta- ~tion of logic programs. Tech. Rep. TR-20/89. Dept. of Computer Science, Univ. Pisa, Pisa, ~Italy, 1989.
 
4
~BIRKHOFF, G. Lattice Theory. Vol. 25. AMS Colloquium Publications, Providence, R.I., 1940.
 
5
~BRUYNOOGHE, M. A framework for the abstract interpretation of logic programs. Res. Rep. ~CW 62. Dept. of Computer Science. Katholieke Universiteit Leuven, Leuven, Belgium, Oct. ~1987.
 
6
~BRUYNOOGHE, M., DEMOEN, B., CALLEBAUT, m., AND JANSSENS, G. Abstract interpretation: ~Towards the global optimization of prolog programs. In Proceedings of the 4th IEEE Sympo- ~sium on Logic Programming (San Francisco, Calif., Sept.). IEEE, New York, 1987, pp. ~192 204.
 
7
~CHANG, J.-H., DESPAtN, A. M., AND DEGROOT, D. AND-parallelism of logic programs based ~on a static data dependency analysis. In Digest of Papers, Compcon 85. IEEE, New York, ~1985.
8
 
9
 
10
 
11
~CORSlM, M., AND FILl2, G. The abstract interpretation of logic programs: A general algo- ~rithm and its correctness. Res. Rep. Dept. Math. Univ. Padova, Padova, Italy, Sept. 1988.
 
12
~COUSOT, P. Semantic foundations of program analysis. In Program FlowAnalvsis: TheoO, and ~Applications, S. S. Muchnick and N. D. Jones, eds. Prentice-Hall, Englewood Cliffs, N.J., 1981.
13
14
15
16
 
17
 
18
 
19
~DEBRAY, S. K., AND RAMAKRISHNAN, R. Canonical computations of logic programs. J. Logic ~Pro&, to appear.
 
20
21
 
22
~DIETRICH, S.W. Extension tables: Memo relations in logic programming. In Proceedmgs of ~the 4th IEEE Symposium o;z Logic Programming (San Francisco, Calif., Sept.). IEEE, New ~York, 1987, pp. 264-272.
 
23
 
24
~OALLAOHIER, J., AND SHAPIRO, E. Using safe approx~manons of fixed points for analysis of ~logic programs, In Proceedings of the META88, Workshop on Meta-programmbzg in Logic ~Programming (Bristol, England, June). 1988.
 
25
 
26
27
 
28
 
29
 
30
 
31
 
32
~JACOBS, D., AND LANGEN, A. Accurate and efficient approximation of variable aliasing in ~logic programs. In Proceedings of the North American Conference on Logic Programming ~(Cleveland, Ohio, Oct.). MIT Press, Cambridge, Mass., 1989, pp. 154-165.
 
33
~JAFFAR, J. Efficient unification over infinite terms. New Gen. Comput. 2, 3 (1984), 207-219.
 
34
~JANSSENS, G. Deriving run-time properties of logic programs by means of abstract interpre- ~tation. PhD dissertation. Dept. of Computer Science. Katholieke Universiteit Leuven, Leu- ~ven, Belgium, Mar. 1990.
 
35
~JANSSENS, G., AND BRUYNOOGHE, M. An instance of abstract interpretation integrating type ~and mode inferencing. In Proceedings of the 5th International Conference on Logic Program- ~ruing (Seattle, Wash., Aug.). MIT Press, Cambridge, Mass., 1988, pp. 669-683.
 
36
~JONES, N. D. AND SONDERGAARD, H. A semantics-based framework for the abstract interpre- ~tation of Prolog. In Abstract htterpretation of Declarative Languages, S. Abramsky and C. ~Hankin, eds., Ellis Horwood, 1987, pp. 124-142.
 
37
~KALE, L.V. The REDUCE-OR process model for parallel evaluation of logic programs. In ~Proceedings' of the 4th International Conference on Logic Programming (Melbourne, Australia, ~May). MIT Press, Cambridge, Mass., 1987, pp. 616-632.
 
38
~KANAMOm, T., AND KAWAMURA, T. Analyzing success patterns of logic programs by abstract ~hybrid interpretation. Draft Report. Mitsubishi Electric Corp., Tokyo, Japan, 1987.
 
39
~LE CHARLIER, B., MUSUMBU, K., AND VAN HENTENRYCK, P. A generic abstract interpreta- ~tion algorithm and its complexity analysis. In Proceedings of the 8th International Conference ~on Logic Programming (Paris, France, June). MIT Press, Cambridge, Mass., 1991, pp. 64-78.
 
40
~MANNmA, H., AND U~a~:ONEN, E. Flow analysis of Prolog programs. In Proceedings of the 4th ~IEEE Symposium on Logic Programming (San Francisco, Calif., Sept.). IEEE, New York, 1987, ~pp. 205-214.
 
41
~MARRIOTT, r., AND SONDERGAARD, H. Bottom-up abstract interpretation of logic programs. ~In Proceedings of the 5th International Conference on Logic Programming (Seattle, Wash., ~Aug.). MIT Press, Cambridge, Mass., 1988, pp. 733-748.
 
42
~MARmOqT, K., AND SONDERGAARD, H. Semantics-based dataflow analysis of logic programs. ~In Information Processing 89, G. Ritter, ed. North-Holland, Amsterdam, The Netherlands, ~1989, pp. 601-606.
 
43
~MARmOT'r, K., S~iNDERGAARD, H., AND JONES, N.D. Denotational abstract interpretation of ~logic programs. Manuscript. Dept. of Computer Science, Univ. Melbourne, Melbourne, ~Australia, May 1990.
 
44
~MELLISH, C.S. The automatic generation of mode declarations for Prolog programs. DAI ~Res. Paper 163. Dept. of Artificial Intelligence, Univ. Edinburgh, Edinburgh, Scotland, Aug. ~1981.
 
45
~MELHSH, C.S. Some global optimizations for a Prolog compiler. J. Logic Pros. 2, 1 (Apr. ~1985), 43-66.
 
46
 
47
~MELLISH, C.g. Using specialization of reconstruct two mode inference systems. Manuscript, ~Dept. of Artificial Intelligence, Univ. Edinburgh, Edinburgh, Scotland. Feb. 1990.
 
48
~MISHm~,, P. Towards a theory of types in Prolog. In Proceedings of &e 1984 IEEE Symposium ~on Logic Programming (Atlantic City, N.J.). IEEE, New York, 1984, pp. 289-298.
 
49
 
50
~MUTHUKUMAR, m., AND HERMENEGILDO, M. Determination of variable dependence informa- ~tion at compile time through abstract interpretation. In Proceedings of the North American ~Conference on Logic Programming (Cleveland, Ohio, Oct.). 1989, to appear.
51
 
52
 
53
~NmSSON, U. A systematic approach to abstract interpretation of logic programs. Ph.D. ~dissertation. Dept. Computer and Information Science. Link6ping Univ., Link6ping, Sweden, ~1989.
 
54
~PLOTKIN, a. D. A note on inductive generalization. In Machine Intelligence, vol. 5. B. ~Meltzer and D. Michie, eds. Elsevier, New York, 1970, pp. 153-162.
 
55
~REDDY, U.S. Transformation of logic programs into functional programs. In Proceedings of ~the 1984 International Symposium on Logic Programmmg (Atlantic City, N.J., Feb.). IEEE ~Press, New York, 1984, pp. 187-196.
 
56
~REYNOLDS, J. C. Transformational systems and the algebraic structure of atomic formulas. ~In Machine Intelligence, vol. 5. B. Meltzer and D. Michie, eds. Elsevier, New York, 1970, pp. ~135 151.
 
57
~SATO, T., AND TAMAKI, H. Enumeration of success patterns in logic programs. Theoret. ~Comput. Sci. 34 (1984), 227-240.
 
58
~SHAPIRO, E.Y. A subset of concurrent Prolog and its interpreter. Tech. Rep. CS83-06. Dept. ~of Applied Mathematics, Weizmann Institute of Science, Rehovot, Israel, Feb. 1983.
 
59
~SMYTHE, M. Powerdomains. J. Comput. Syst. Sct. 16, 1 (1978), 23-26.
 
60
 
61
 
62
 
63
~UEDA, K. Guarded Horn Clauses. D. Eng. thesis. Univ. Tokyo, Tokyo, Japan, 1986.
 
64
 
65
~WARREN, D. H.D. Implementing Prolog--Compiling predicate logic programs. Res. Rep. ~39 and 40. Dept. of Artificial Intelligence, Univ. Edinburgh, Edinburgh, Scotland, 1977.
 
66
~WARREN, R., HERMENEGILDO, M., AND DEBRAY, S. K. On the practicality of global flow ~analysis of logic programs. In Proceedings of the International Conference on Logic Program- ~nzing (Seattle, Wash., Aug.). MIT Press, Cambridge, Mass., 1988, pp. 684-699.
67
 
68
 
69