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.
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt. Introduction to logic programming. In J. van Leeuwen, ed., Handbook of Theoretical Computer Science, vol. B, pp. 495–574. Elsevier, 1990.
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.
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.
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.
A. Bossi, M. Gabbrielli, G. Levi, and M. C. Meo. A compositional semantics for logic programs. TCS, 122(1–2):3–47, 1994.
A. Batarekh and V. S. Subrahmanian. Topological model set deformations. Fundamenta Informatiæ, 12:357–400, 1989.
M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. Journal of Logic Programming, 10:91–124, 1991.
M. Codish, D. Dams, and E. Yardeni. Bottom-up abstract interpretation of logic programs. TCS, 124(1):93–126, 1994.
M. Codish, S. Debray, and R. Giacobazzi. Compositional analysis of modular logic programs. In ACM POPL '93, pp. 451–464, 1993.
M. Comini and G. Levi. An algebraic theory of observables. In M. Bruynooghe, ed., Proc. ILPS'94, pp. 172–186, The MIT Press, 1994.
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.
P. & R. Cousot. Systematic design of program analysis frameworks. In ACM POPL '79 pp. 269–282, 1979.
P. Cousot & R. Cousot. Abstract interpretation and applications to logic programs. Journal of Logic Programming, 13(2–3):103–179, 1992.
P. & R. Cousot. Inductive definitions, semantics and abstract interpretation. In ACM POPL'92, pp. 83–94, 1992.
M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative modeling of the operational behavior of logic languages. TCS, 69(3):289–318, 1989.
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.
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.
D. Jacobs and A. Langen. Static analysis of logic programs for independent AND parallelism. Journal of Logic Programming, 13(2–3):291–314, 1992.
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.
R. Kemp and G. Ringwood. Reynolds and Heyting models of logic programs. Technical report, Dept. of Computer Science, Queen Mary and Westfield College, 1991.
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.
B. Steffen. Optimal data flow analysis via observational equivalence. In Proc. MFCS'89, LNCS 379, pp. 492–502, 1989.
M. H. van Emden and R. A. Kowalski. The semantics of predicate logic as a programming language. JACM, 23(4):733–742, 1976.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Giacobazzi, R. (1996). “Optimal” collecting semantics for analysis in a hierarchy of logic program semantics. In: Puech, C., Reischuk, R. (eds) STACS 96. STACS 1996. Lecture Notes in Computer Science, vol 1046. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60922-9_41
Download citation
DOI: https://doi.org/10.1007/3-540-60922-9_41
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60922-3
Online ISBN: 978-3-540-49723-3
eBook Packages: Springer Book Archive