Skip to main content

Chaotic fixpoint iteration guided by dynamic dependency

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 724))

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.

Unable to display preview. Download preview PDF.

References

  1. I. Balbin and K. Ramamohanarao. A generalization of the differential approach to recursive query evaluation. J. Logic Programming 1987, 4, pp. 259–262.

    Google Scholar 

  2. F. Bancilhon and R. Ramakrishnan. An Amateur's Intorduction to Recursive Query Processing Strategies. MCC Technical Report No. DB-091-86, March 1986.

    Google Scholar 

  3. C. Beeri and R. Ramakrishnan. On the power of magic. J. Logic Programming 1991, 10, pp. 225–299.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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,.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. J. Logic Programming 1992 13, pp. 103–179.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. J. Jaffar and J.-L. Lassez. Constraint logic programming. Technical Report, Monash University, June 1986.

    Google Scholar 

  11. J. Jaffar, S. Michaylov, P. Stuckey and R. Yap. An abstract machine for CLP(\(\mathcal{R}\)}). SIGPLAN PLDI, San Francisco, June 1992.

    Google Scholar 

  12. N. JØrgensen. Abstract interpretation of constraint logic programs. Ph.D. thesis. To appear in Datalogiske skrifter, 1993, Computer Science Dept., Roskilde University Center.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. R.A. O'Keefe. Finite fixed-point problems. Proc. 4th International Conference on Logic Programming, 1987, Melbourne, 729–743.

    Google Scholar 

  16. J.W. Lloyd. Foundations of logic programming. Springer-Verlag, 1984.

    Google Scholar 

  17. G.A. Kildall. A unified approach to global program optimization. Proc. POPL 1973, Boston, 194–206.

    Google Scholar 

  18. K. Marriott and H. SØndergaard. Analysis of constraint logic programs. Proc. North American Conference on Logic Programming, Austin, 1998, pp. 521–540.

    Google Scholar 

  19. K. Marriott and H. SØndergaard. Bottom-up dataflow analysis of normal logic programs. J. Logic Programming 1992, 13, pp. 181–204.

    Google Scholar 

  20. C. Martin and C. Hanking. Finding fixed points in finite lattices. FPLCA 1987 Portland, Ohio.

    Google Scholar 

  21. C. S. Mellish. The automatic generation of mode declarations for Prolog programs. DAI Research Paper 163, University of Edinburgh, 1981.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. A. Tarski. A lattice-theoretical fixpoint theorem and its application. Pacific Journal of Mathematics, 1955, 5, pp. 285–309.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Patrick Cousot Moreno Falaschi Gilberto Filé Antoine Rauzy

Rights and permissions

Reprints 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

Publish with us

Policies and ethics