Abstract
An algorithm for abstract interpretation of logic programs is defined and analyzed. The algorithm is proved to be correct with respect to an abstract semantics for (a variant of) Prolog. This abstract semantics associates a given program with a function that maps each call pattern for a predicate to a distinct success pattern. The proposed algorithm employs a variant of chaotic iteration, and is based on what may be termed a dynamic dependency relation. A low worst-case complexity is achieved: the number of passes of dataflow analysis over each program clause is proved to be independent of the size of the rest of the program.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
I. Balbin and K. Ramamohanarao. A generalization of the differential approach to recursive query evaluation. J. Logic Programming 1987, 4, pp. 259–262.
F. Bancilhon and R. Ramakrishnan. An Amateur's Intorduction to Recursive Query Processing Strategies. MCC Technical Report No. DB-091-86, March 1986.
C. Beeri and R. Ramakrishnan. On the power of magic. J. Logic Programming 1991, 10, pp. 225–299.
B. Le Charlier, K. Musumbu, P. Van Hentenryck. A generic abstract interpretation algorithm and its complexity analysis. Proc. 8th International Conference on Logic Programming, 1991, Paris, pp. 64–78.
B. Le Charlier and P. Van Hentenryck. Experimental evaluation of a generic abstract interpretation algorithm for Prolog. Technical Report CS-91-55, August 1991, Brown University.
P. Cousot and R. Cousot. Abstract Interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. Proc. 4th ACM Symposium on Principles of Programming Languages, 1977, pp. 238–252,.
P. Cousot and R. Cousot. Automatic synthesis of optimal invariant assertions: Mathematical foundations. Proc. ACM Symposium on Artificial Intelligence and programming languages, SIGPLAN Notices, 12 (8), 1977, pp. 1–12.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. J. Logic Programming 1992 13, pp. 103–179.
S. K. Debray. Static inference of modes and data dependencies in logic programs. ACM Transactions on Programming Languages and Systems, 11 (3), 1989, pp. 418–450.
J. Jaffar and J.-L. Lassez. Constraint logic programming. Technical Report, Monash University, June 1986.
J. Jaffar, S. Michaylov, P. Stuckey and R. Yap. An abstract machine for CLP(\(\mathcal{R}\)}). SIGPLAN PLDI, San Francisco, June 1992.
N. JØrgensen. Abstract interpretation of constraint logic programs. Ph.D. thesis. To appear in Datalogiske skrifter, 1993, Computer Science Dept., Roskilde University Center.
N. JØrgensen, K. Marriott, and S. Michaylov. Some global compile-time optimizations of CLP(\(\mathcal{R}\)). Proc. International Logic Programming Symposium, San Diego, 1991, pp. 420–434.
N. D. Jones and A. Mycroft. Data flow analysis of applicative programs using minimal function graphs. Proc. 13th ACM Symposium on Principles of Programming Languages, Florida, 1986, pp. 296–306.
R.A. O'Keefe. Finite fixed-point problems. Proc. 4th International Conference on Logic Programming, 1987, Melbourne, 729–743.
J.W. Lloyd. Foundations of logic programming. Springer-Verlag, 1984.
G.A. Kildall. A unified approach to global program optimization. Proc. POPL 1973, Boston, 194–206.
K. Marriott and H. SØndergaard. Analysis of constraint logic programs. Proc. North American Conference on Logic Programming, Austin, 1998, pp. 521–540.
K. Marriott and H. SØndergaard. Bottom-up dataflow analysis of normal logic programs. J. Logic Programming 1992, 13, pp. 181–204.
C. Martin and C. Hanking. Finding fixed points in finite lattices. FPLCA 1987 Portland, Ohio.
C. S. Mellish. The automatic generation of mode declarations for Prolog programs. DAI Research Paper 163, University of Edinburgh, 1981.
S. Peyton-Jones and C. Clack. Finding fixpoints in abstract interpretation, in: S. Abramski and C. Hankin (eds): Abstract interpretation of declarative languages. Ellis Horwood, 1987, pp. 246–265.
A. Tarski. A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics, 1955, 5, pp. 285–309.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
JØrgensen, N. (1993). Chaotic fixpoint iteration guided by dynamic dependency. In: Cousot, P., Falaschi, M., Filé, G., Rauzy, A. (eds) Static Analysis. WSA 1993. Lecture Notes in Computer Science, vol 724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57264-3_27
Download citation
DOI: https://doi.org/10.1007/3-540-57264-3_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57264-0
Online ISBN: 978-3-540-48027-3
eBook Packages: Springer Book Archive