Advertisement

Abstract interpretation: A kind of magic

  • Ulf Nilsson
Session: Abstract Interpretation
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Logic Program Logic Programming Abstract Interpretation Predicate Symbol Success Pattern 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Ban86]
    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. [BR87]
    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. [Bru90]
    M. Bruynooghe. A Practical Framework for the Abstract Interpretation of Logic Programs. To appear in J. Logic Programming, 1990.Google Scholar
  4. [Bry90]
    F. Bry. Query Evaluation in Recursive Databases: Bottom-up and Top-down Reconciled. Data and Knowledge Engineering, 1990. To appear.Google Scholar
  5. [CC77]
    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. [Cou81]
    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. [EK76]
    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. [Fit85]
    M. Fitting. A Kripke-Kleene Semantics for Logic Programs. J. of Logic Programming, 2(4):295–312, 1985.Google Scholar
  9. [JS87]
    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. [Kan90]
    T. Kanamori. Abstract Interpretation Based On Alexander Templates. Technical Report TR-549, ICOT, 1990.Google Scholar
  11. [KK87]
    T. Kanamori and T. Kawamura. Analyzing Success Patterns of Logic Programs by Abstract Hybrid Interpretation. Technical Report TR-279, ICOT, 1987.Google Scholar
  12. [Llo87]
    J.W. Lloyd. Foundations of Logic Programming. Springer-Verlag, second edition, 1987.Google Scholar
  13. [Mel87]
    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. [Mel90]
    C. Mellish. Using Specialisation to Reconstruct Two Mode Inference Systems, 1990.Google Scholar
  15. [MS88]
    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. [MS89]
    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. [Nil90]
    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. [NM90]
    U. Nilsson and J. Małuszyński. Logic, Programming and Prolog, John Wiley & Sons, 1990.Google Scholar
  19. [Ram88]
    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. [RLK86]
    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. [TS86]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Ulf Nilsson
    • 1
  1. 1.Department of Computer and Information ScienceLinköping UniversityLinköpingSweden

Personalised recommendations