A mode analysis of logic programs by abstract interpretation

  • Lunjin Lu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1181)


This paper presents a mode analysis of logic programs by means of abstract interpretation. Mode information is inferred together with sharing and aliasing information. Aliasing information is used to improve accuracy of analysis whilst sharing information is used to ensure the safety of analysis.


Mode Sharing Aliasing Abstract Interpretation Abstract Unification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Bruynooghe, G. Janssens, A. Callebaut, and B. Demoen. Abstract interpretation: towards the global optimisation of Prolog programs. In Proceedings of the 1987 Symposium on Logic Programming, pages 192–204. The IEEE Society Press, 1987.Google Scholar
  2. 2.
    M. Codish, D. Dams, and Yardeni E. Derivation and safety of an abstract unification algorithm for groundness and aliasing analysis. In Furukawa [9], pages 79–93.Google Scholar
  3. 3.
    M. Codish, D. Dams, G. Filé, and M. Bruynooghe. Freeness analysis for logic programs — and correctness. In D.S. Warren, editor, Proceedings of the Tenth International Conference on Logic Programming, pages 117–131. The MIT Press, 1993.Google Scholar
  4. 4.
    M. Codish, A. Mulkers, M. Bruynooghe, G. de la Banda, M. and M. Hermenegildo. Improving Abstract Interpretations by Combining Domains. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pages 194–205. ACM Press, 1993.Google Scholar
  5. 5.
    P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. The Journal of Logic Programming, 13(1, 2, 3 and 4):103–179, 1992.Google Scholar
  6. 6.
    S. K. Debray. Functional computations in logic programs. ACM Transactions on Programming Languages and Systems, 11(3):451–481, 1989.Google Scholar
  7. 7.
    S. K. Debray. Static inference of modes and data dependencies in logic programs. ACM Transactions on Programming Languages and Systems, 11(3):418–450, 1989.Google Scholar
  8. 8.
    S. K. Debray and D. S. Warren. Automatic mode inference for logic programs. The Journal of Logic Programming, 5(3):207–230, September 1988.Google Scholar
  9. 9.
    K. Furukawa, editor. Proceedings of the Eighth International Conference on Logic Programming, Paris, France, 1991. The MIT Press.Google Scholar
  10. 10.
    N.D. Jones and H. Søndergaard. A semantics-based framework for abstract interpretation of Prolog. In S. Abramsky and C. Hankin, editors, Abstract interpretation of declarative languages, pages 123–142. Ellis Horwood Limited, 1987.Google Scholar
  11. 11.
    A. King. A synergistic analysis for sharing and groundness which traces linearity. Draft, 1994.Google Scholar
  12. 12.
    G. Levi and M. Martelli, editors. Proceedings of the Sixth International Conference on Logic Programming, Lisbon, 1989. The MIT Press.Google Scholar
  13. 13.
    J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.Google Scholar
  14. 14.
    L. Lu. Abstract interpretation, bug detection and bug diagnosis in normal logic programs. PhD thesis, University of Birmingham, 1994.Google Scholar
  15. 15.
    A. Mariën, G. Janssens, A. Mulkers, and M. Bruynooghe. The impact of abstract interpretation: An experiment in code generation. In Levi and Martelli [12], pages 33–47.Google Scholar
  16. 16.
    K. Muthukumar and M. Hermenegildo. Combined determination of sharing and freeness of program variables through abstract interpretation. In Furukawa [9], pages 49–63.Google Scholar
  17. 17.
    R. Sundararajan and J.S. Conery. An abstract interpretation scheme for groundness, freeness, and sharing analysis of logic programs. In R. Shyamasundar, editor, Proceedings of 12th Conference on Foundations of Software Technology and Theoretical Computer Science, pages 203–216. Springer-Verlag, 1992.Google Scholar
  18. 18.
    A. Taylor. Removal of dereferencing and trailing in Prolog compilation. In Levi and Martelli [12], pages 48–60.Google Scholar
  19. 19.
    D. H. D. Warren. Implementing Prolog — compiling predicate logic programs. Research Report 39 and 40, Department of artificial intelligence, The University of Edinburgh, 1977.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Lunjin Lu
    • 1
  1. 1.Department of Educational Information TechnologyEast China Normal UniversityShanghaiChina

Personalised recommendations