Advertisement

Constraint databases and program analysis using abstract interpretation

  • David Toman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1191)

Abstract

In this paper we discuss a connection between two seemingly distant research areas in computer science: constraint databases and abstract interpretation. We show that while the goals of research in the respective communities are different, the used techniques are often based on similar common foundations. We substantiate this claim by showing that abstract interpretation of a standard (Algol-like) programming language with respect to its natural semantics can be equivalently thought of as querying a constraint deductive database. On the other hand the constraint database community can often benefit from the sophisticated techniques developed for computing abstract properties of programs, e.g., for query termination analysis or approximate query evaluation.

Keywords

Logic Program Abstract Interpretation Query Evaluation Horn Clause Semantic Function 
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. 1.
    Abiteboul, S., Hull, R., Vianu. V. Foundations of Databases. Addison-Wesley, 1995.Google Scholar
  2. 2.
    Abramski, S., Hankin, C. (eds.) Abstract Interpretation of Declarative Languages. Ellis Horwood, 1987.Google Scholar
  3. 3.
    Codish, M., Demoen, B. Analysing Logic Programs Using ‘Prop'-ositional Logic Programs and a Magic Wand. Proc. 1994 International Logic Programming Symposium, MIT Press, 114–129, 1994.Google Scholar
  4. 4.
    Codognet P., File, G. Computations, Abstractions, and Constraints in Logic Programming. Proc. IEEE Conference on Computer Languages, 155–164, 1992.Google Scholar
  5. 5.
    Cousot, P., Cousot, R. Static Determination of Dynamic Properties of Programs. in Proc. 2nd Int. Symposium on Programming, 1976.Google Scholar
  6. 6.
    Cousot, P., Cousot, R. Abstract Interpretation: a unified lattice model for static analysis of programs. In Proc. 4th ACM Symp. on Principles of Programming Languages, 238–252, 1987.Google Scholar
  7. 7.
    Cousot, P., Cousot, R. Systematic design of program analysis frameworks. In Proc. 6th ACM Symp. on Principles of Programming Languages, 269–282, 1989.Google Scholar
  8. 8.
    Cousot, P., Cousot, R. Abstract Interpretation and Application to Logic Programs. J. Logic Programming, 13:103–179, 1992.Google Scholar
  9. 9.
    Cousot, P., Halbwachs, N. Automatic Discovery of Linear Restraints Among Variables of a Program. Proc. ACM Symp. on Principles of Programming Languages, 84–96, 1978.Google Scholar
  10. 10.
    Granger, P. Static analysis of arithmetical congruences. International Journal of Computer Mathematics, 165–199, 1989.Google Scholar
  11. 11.
    Static analysis of linear congruences among variables of a program. Tech. Rep. LIX, Paris, France, 1990.Google Scholar
  12. 12.
    Gunter C.A. Semantics of Programming Languages. MIT Press, 1992.Google Scholar
  13. 13.
    Henkin, L., Monk, J.D., Tarski, A. Cylindric Algebras. Part I, II. Studies in Logic and Foundations of Mathematics, vols. 64, 115, North Holland 1971, 1985.Google Scholar
  14. 14.
    Jones, N.D., Muchnick, S.S. Flow analysis and optimization of LISP-like structures. In Proc. 6th ACM Symp. on Principles of Programming Languages, 244–256, 1979.Google Scholar
  15. 15.
    Kanellakis, P. C., Kuper, G. M., Revesz, P.Z. Constraint Query Languages. Journal of Computer and System Sciences 51(1):26–52, 1995.Google Scholar
  16. 16.
    Lloyd, J. Foundations of Logic Programming. Springer-Verlag, 1987.Google Scholar
  17. 17.
    Marriott, K., Sondergaard, H. Analysis of Constraint Logic Programs. Proc. NACLP 1990, 531–547.Google Scholar
  18. 18.
    Marriot, K., Stuckey, P. J. Approximating interactions between linear arithmetic constraints. Proc. 1994 International Logic Programming Symposium, MIT Press, 1994, 571–585.Google Scholar
  19. 19.
    Mycroft, A., Jones, N.D. A relational framework for abstract interpretation. In Programs as Data Objects, LNCS 217, 156–171, 1985.Google Scholar
  20. 20.
    Naughton, J.F., Ramakrishnan, R., Sagiv, Y., Ullman, J.D. Argument Reduction by Factoring. in Proc. Intl. Conf. on Very Large Data Bases, 1989.Google Scholar
  21. 21.
    Palsberg, j. Closure Analysis in Constraint Form. In Proc. CAAP'94, 276–290, 1994. (to appear in ACM Transactions on Programming Languages and Sytems).Google Scholar
  22. 22.
    Revesz, P. Z. A Closed Form Evaluation for Datalog Queries with Integer (Gap)-Order Constraints. Theoretical Computer Science, vol. 116, no. 1, 117–149, 1993.Google Scholar
  23. 23.
    Revesz, P. Constraint Query Languages. A Survey. (unpublished manuscript), 1995.Google Scholar
  24. 24.
    Schmidt, D.A. Denotational Semantics: A methodology for Language Development. Allyn and Bacon, 1986.Google Scholar
  25. 25.
    Schmidt, D.A. Natural-semantics-based abstract interpretation. In Proc. Static Analysis Symposium, LNCS 983, 1–18, 1995.Google Scholar
  26. 26.
    Schmidt, D.A. Abstract Interpretation of Small-Step Semantics. Presented at 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages, Stockholm, June 1996.Google Scholar
  27. 27.
    Scott, D.S. An Alternative to CUCH, ISWIM, OHWY. unpublished manuscript, 1969.Google Scholar
  28. 28.
    Sondergaard, H. An Application of Abstract Interpretation of Logic Programs: Occur Check Reduction. Proc. ESOP 1986, 327–338.Google Scholar
  29. 29.
    Srivastava, D., Ramakrishnan, R., Revesz, P. Z. Constraint Objects. Proc. Intl. Workshop on Principles and Practice of Constraint Programming, 218–228, 1994.Google Scholar
  30. 30.
    Toman, D., Chomicki, J., Rogers D. S. Datalog with Integer Periodicity Constraints. Proc. 1994 International Logic Programming Symposium, MIT Press, 1994, 189–203.Google Scholar
  31. 31.
    Toman, D. Top-Down beats Bottom-Up for Constraint Based Extensions of Datalog. Proc. 1995 International Logic Programming Symposium, MIT Press, 1995, 98–112.Google Scholar
  32. 32.
    Ullman J. D. Principles of Database and Knowledge-base Systems, Vol. 1,2. Computer Science Systems, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • David Toman
    • 1
  1. 1.Department of Computer ScienceUniversity of TorontoTorontoCanada

Personalised recommendations