Advertisement

“Optimal” collecting semantics for analysis in a hierarchy of logic program semantics

  • Roberto Giacobazzi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1046)

Abstract

In this paper we apply abstract interpretation to systematically derive, compose and compare semantics according to their expressive power. The main results are: (1) a definition of a hierarchy of collecting semantics, including well known semantics for logic programs, where semantics can be related to each other by abstract interpretation; (2) a characterization of collecting and abstract semantics in terms of collecting and abstract models for a program; (3) a correspondence between collecting and abstract models providing a “logical” interpretation of the typical loss of precision of abstract interpretation-based analysis; (4) a systematic approach to derive and compose collecting semantics in a lattice-theoretic environment; (5) a constructive characterization for the “best” collecting semantics for analysis.

Keywords

Logic Program Logic Programming Abstract Model Complete Lattice Operational Semantic 
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.
    K. R. Apt. Introduction to logic programming. In J. van Leeuwen, ed., Handbook of Theoretical Computer Science, vol. B, pp. 495–574. Elsevier, 1990.Google Scholar
  2. 2.
    T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Boolean functions for dependency analysis: algebraic properties and efficient representation. In B. Le Charlier, ed., Proc. SAS'94, LNCS 864, pp. 266–280, 1994.Google Scholar
  3. 3.
    R. Barbuti, M. Codish, R. Giacobazzi, and M. Maher. Oracle semantics for PROLOG. In Proc. ALP'92, LNCS 632, pp. 100–114, 1992. To appear in Inf. & Comp. Google Scholar
  4. 4.
    R. Barbuti, R. Giacobazzi, and G. Levi. A general framework for semantics-based bottom-up abstract interpretation of logic programs. TOPLAS, 15(1):133–181, 1993.CrossRefGoogle Scholar
  5. 5.
    A. Bossi, M. Gabbrielli, G. Levi, and M. C. Meo. A compositional semantics for logic programs. TCS, 122(1–2):3–47, 1994.CrossRefGoogle Scholar
  6. 6.
    A. Batarekh and V. S. Subrahmanian. Topological model set deformations. Fundamenta Informatiæ, 12:357–400, 1989.Google Scholar
  7. 7.
    M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. Journal of Logic Programming, 10:91–124, 1991.CrossRefGoogle Scholar
  8. 8.
    M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. TCS, 124(1):93–126, 1994.CrossRefGoogle Scholar
  9. 9.
    M. Codish, S. Debray, and R. Giacobazzi. Compositional analysis of modular logic programs. In ACM POPL '93, pp. 451–464, 1993.Google Scholar
  10. 10.
    M. Comini and G. Levi. An algebraic theory of observables. In M. Bruynooghe, ed., Proc. ILPS'94, pp. 172–186, The MIT Press, 1994.Google Scholar
  11. 11.
    P. & R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In ACM POPL'77, pp. 238–252, 1977.Google Scholar
  12. 12.
    P. & R. Cousot. Systematic design of program analysis frameworks. In ACM POPL '79 pp. 269–282, 1979.Google Scholar
  13. 13.
    P. Cousot & R. Cousot. Abstract interpretation and applications to logic programs. Journal of Logic Programming, 13(2–3):103–179, 1992.CrossRefGoogle Scholar
  14. 14.
    P. & R. Cousot. Inductive definitions, semantics and abstract interpretation. In ACM POPL'92, pp. 83–94, 1992.Google Scholar
  15. 15.
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative modeling of the operational behavior of logic languages. TCS, 69(3):289–318, 1989.CrossRefGoogle Scholar
  16. 16.
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A model-theoretic reconstruction of the operational semantics of logic programs. Inf. & Comp., 102(1):86–113, 1993.Google Scholar
  17. 17.
    M. Gabbrielli and M. C. Meo. Fixpoint semantics for partial computed answer substitutions and call patterns. In Proc. ALP'92, LNCS 632, pp. 84–99, 1992.Google Scholar
  18. 18.
    D. Jacobs and A. Langen. Static analysis of logic programs for independent AND parallelism. Journal of Logic Programming, 13(2–3):291–314, 1992.CrossRefGoogle Scholar
  19. 19.
    N. D. Jones and H. Søndergaard. A semantics-based framework for the abstract interpretation of Prolog. In S. Abramsky and C. Hankin, eds., Abstract Interpretation of Declarative Languages, pp. 123–142. Ellis Horwood Ltd, 1987.Google Scholar
  20. 20.
    R. Kemp and G. Ringwood. Reynolds and Heyting models of logic programs. Technical report, Dept. of Computer Science, Queen Mary and Westfield College, 1991.Google Scholar
  21. 21.
    A. Mycroft and F. Nielson. Strong abstract interpretation using power domains. In J. Díaz, ed., Proc. ICALP'83, LNCS 154, pp. 536–547. 1983.Google Scholar
  22. 22.
    B. Steffen. Optimal data flow analysis via observational equivalence. In Proc. MFCS'89, LNCS 379, pp. 492–502, 1989.Google Scholar
  23. 23.
    M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. JACM, 23(4):733–742, 1976.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Roberto Giacobazzi
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations