Abstract
The central idea of the technique of Abstract Interpretation is that the analysis of a program consists of executing it on a special (abstract) domain D of values in which each operation μ, used during the normal execution, is interpreted as a corresponding operation μ D on D. More formally, an (abstract) domain is a complete lattice that enjoys a Galois insertion into the concrete domain. An interpretation consists of a domain and a collection of monotone operations over that domain. Due to the success of the technique, several interpretations with similar purposes have been proposed. In the classical theory of abstract interpretation, the only way we have to compare two interpretations is to show that one abstracts the other. The weakness of this type of comparison is that it does not allow us to compare various interpretations with respect to some, but not all, of the information they express. This paper presents new notions that enable us to make such precise comparisons. These notions are applicable to the comparison of abstract interpretations for all kinds of programming languages and with all sorts of analysis frameworks. We show that our new notions form a natural extension to the existing notion of one interpretation abstracting another. We demonstrate the utility of our technique by using it to compare abstract interpretations for analysis of logic programs with respect to their ability to infer variable groundness.
Work supported by CNR, P. F. Sistemi Informatici e Calcolo Parallelo, grant 91.000898.PF69
Preview
Unable to display preview. Download preview PDF.
References
Abramsky S. and Hankin C., “Abstract Interpretation of Declarative Languages.” Ellis Horwood, 1987.
Bruynooghe, M., “A practical framework for the abstract interpretation of logic programs.” Journal of Logic Programming, vol.10, 1991.
Cousot, P. and Cousot, R., “Abstract interpretation: a unified frame-work for static analysis of programs by construction of approximation of fixpoints.” Proc. Fourth ACM POPL, 1977.
Cortesi, A. and Filè, G., “Abstract interpretation of logic programs: an abstract domain for groundness, sharing, freeness and compoundness analysis.” Proc. ACM Symposium on Partial Evaluation and Semantics Based Program Manipulation., P. Hudak and N. Jones (eds.), SIGPLAN NOTICES vol.26, n.11, 1991.
Cortesi, A., Filè, G. and Winsborough W., “Prop revisited: Propositional formula as abstract domain for groundness analysis.” Proc. Sixth Annual IEEE Symposium on Logic in Computer Science. G. Kahn (ed.), pp.322–327, Amsterdam 1991.
Cortesi, A., Filè, G. and Winsborough W., “Comparison of Abstract Interpretations.” Tech.Rep. 14/91 Dip. Matematica Pura e Applicata, Università di Padova, 1991.
Debray, S. K., “Static inference of modes and data dependencies in logic programs.” TOPLAS, Vol.11, pp.418–450, 1989.
Debray, S. K., “The mithical Free Lunch (notes on the complexity/precision tradeoff in dataflow analysis of logic programs)”, draft, Univ. of Arizona, 1991.
Jacobs, D. and Langen, A., “Accurate and efficient approximation of variable aliasing in logic programs.” Proc. NACLP. Cleveland, 1989.
Jones, N.D. and Nielson, F., “Abstract Interpretation: a semantic-based tool for program analysis” draft version, 1991.
Jones, N. and Søndergaard, H., “A semantic based framework for the abstract interpretation of Prolog.” In Abstract Interpretation of Declarative Languages. S. Abramsky and C. Hankin (eds.), Ellis Horwood, 1987.
Marriott, K. and Søndergaard, H., “Notes for a tutorial on abstract interpretation of logic programs.” NACLP. Cleveland, 1989.
Marriott, K. and Søndergaard, H., “Abstract interpretation of logic programs: the denotational approach.” Proc. GULP'90. A. Bossi (ed.), Padova, 1990.
Mellish, C. S., “The automatic generation of mode declarations for Prolog programs.” Proc. Workshop on Logic Programming for Intelligent Systems. Los Angeles, 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cortesi, A., Filé, G., Winsborough, W. (1992). Comparison of abstract interpretations. In: Kuich, W. (eds) Automata, Languages and Programming. ICALP 1992. Lecture Notes in Computer Science, vol 623. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55719-9_101
Download citation
DOI: https://doi.org/10.1007/3-540-55719-9_101
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55719-7
Online ISBN: 978-3-540-47278-0
eBook Packages: Springer Book Archive