Skip to main content

Abstract interpretation: A kind of magic

  • Session: Abstract Interpretation
  • Conference paper
  • First Online:
  • 265 Accesses

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

Abstract

Magic sets and, more recently, magic templates are used in the field of deductive databases to facilitate efficient bottom up evaluation of database queries. Roughly speaking a top down computation is simulated by first transforming the program and then executing the new program bottom up. In this paper we give a new and very simple proof that this approach is equivalent to the collecting interpretation of the abstract interpretation framework of C. Mellish. As a side-effect we also prove that “bottom up” abstract interpretation based on the magic templates transformation is equally powerful as this particular abstract interpretation framework, but less powerful than other (more precise) abstract interpretation frameworks.

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. F. Bancilhon et al. Magic Sets and Other Strange Ways to Implement Logic Programs. In Proc. of 5th ACM Symposium on Principles of Database Systems, pages 1–15, 1986.

    Google Scholar 

  2. C. Beeri and R. Ramakrishnan. On the Power of Magic. In Proc of 6th Symposium on Principles of Database Systems, pages 269–283, 1987.

    Google Scholar 

  3. M. Bruynooghe. A Practical Framework for the Abstract Interpretation of Logic Programs. To appear in J. Logic Programming, 1990.

    Google Scholar 

  4. F. Bry. Query Evaluation in Recursive Databases: Bottom-up and Top-down Reconciled. Data and Knowledge Engineering, 1990. To appear.

    Google Scholar 

  5. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs By Construction or Approximation of Fixpoints. In Conf. Record of Fourth ACM Symposium on POPL, pages 238–252, Los Angeles, 1977.

    Google Scholar 

  6. P. Cousot. Semantic Foundations of Program Analysis. In S. Muchnick and N.D. Jones, editors, Program Flow Analysis, pages 303–342. Prentice Hall, 1981.

    Google Scholar 

  7. M. van Emden and R. Kowalski. The Semantics of Predicate Logic as a Programming Language. J. of ACM, 23(4):733–742, 1976.

    Google Scholar 

  8. M. Fitting. A Kripke-Kleene Semantics for Logic Programs. J. of Logic Programming, 2(4):295–312, 1985.

    Google Scholar 

  9. N.D. Jones and H. Søndergaard. A Semantics-Based Framework for the Abstract Interpretation of Prolog. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 123–142. Ellis Horwood, 1987.

    Google Scholar 

  10. T. Kanamori. Abstract Interpretation Based On Alexander Templates. Technical Report TR-549, ICOT, 1990.

    Google Scholar 

  11. T. Kanamori and T. Kawamura. Analyzing Success Patterns of Logic Programs by Abstract Hybrid Interpretation. Technical Report TR-279, ICOT, 1987.

    Google Scholar 

  12. J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.

    Google Scholar 

  13. C. Mellish. Abstract Interpretation of Prolog Programs. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, pages 181–198. Ellis Horwood, 1987.

    Google Scholar 

  14. C. Mellish. Using Specialisation to Reconstruct Two Mode Inference Systems, 1990.

    Google Scholar 

  15. K. Marriott and H. Søndergaard. Bottom-up Abstract Interpretation of Logic Programs. In Proc. of Fifth International Conf/Symposium on Logic Programming, Seattle, pages 733–748. MIT Press, 1988.

    Google Scholar 

  16. K. Marriott and H. Søndergaard. Semantics-Based Dataflow Analysis of Logic Programs. In G. Ritter, editor, Information Processing 89, pages 601–605. North-Holland, 1989.

    Google Scholar 

  17. U. Nilsson. Systematic Semantic Approximations of Logic Programs. In Programming Language Implementation and Logic Programming 90, Lecture Notes in Computer Science 456, pages 293–306. Springer-Verlag, 1990.

    Google Scholar 

  18. U. Nilsson and J. Małuszyński. Logic, Programming and Prolog, John Wiley & Sons, 1990.

    Google Scholar 

  19. R. Ramakrishnan. Magic Templates: A Spellbounding Approach to Logic Programming. In Proc. of Fifth International Conf/Symposium on Logic Programming, Seattle, pages 140–159. MIT Press, 1988.

    Google Scholar 

  20. J. Rohmer, R. Lescoeur, and J.-M. Kerisit. The Alexander Method—A Technique For the Processing of Recursive Axioms in Deductive Databases. New Generation Computing, 4(3):273–285, 1986.

    Google Scholar 

  21. H. Tamaki and T. Sato. OLD Resolution with Tabulation. In E Shapiro, editor, Proc. of Third International Conf. on Logic Programming, London, Lecture Notes in Computer Science 225, pages 84–98. Springer-Verlag, 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Maluszyński Martin Wirsing

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nilsson, U. (1991). Abstract interpretation: A kind of magic. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_107

Download citation

  • DOI: https://doi.org/10.1007/3-540-54444-5_107

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54444-9

  • Online ISBN: 978-3-540-38362-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics