Skip to main content

Comparison of abstract interpretations

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 623))

Included in the following conference series:

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

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abramsky S. and Hankin C., “Abstract Interpretation of Declarative Languages.” Ellis Horwood, 1987.

    Google Scholar 

  2. Bruynooghe, M., “A practical framework for the abstract interpretation of logic programs.” Journal of Logic Programming, vol.10, 1991.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Cortesi, A., Filè, G. and Winsborough W., “Comparison of Abstract Interpretations.” Tech.Rep. 14/91 Dip. Matematica Pura e Applicata, Università di Padova, 1991.

    Google Scholar 

  7. Debray, S. K., “Static inference of modes and data dependencies in logic programs.” TOPLAS, Vol.11, pp.418–450, 1989.

    Article  Google Scholar 

  8. Debray, S. K., “The mithical Free Lunch (notes on the complexity/precision tradeoff in dataflow analysis of logic programs)”, draft, Univ. of Arizona, 1991.

    Google Scholar 

  9. Jacobs, D. and Langen, A., “Accurate and efficient approximation of variable aliasing in logic programs.” Proc. NACLP. Cleveland, 1989.

    Google Scholar 

  10. Jones, N.D. and Nielson, F., “Abstract Interpretation: a semantic-based tool for program analysis” draft version, 1991.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. Marriott, K. and Søndergaard, H., “Notes for a tutorial on abstract interpretation of logic programs.” NACLP. Cleveland, 1989.

    Google Scholar 

  13. Marriott, K. and Søndergaard, H., “Abstract interpretation of logic programs: the denotational approach.” Proc. GULP'90. A. Bossi (ed.), Padova, 1990.

    Google Scholar 

  14. Mellish, C. S., “The automatic generation of mode declarations for Prolog programs.” Proc. Workshop on Logic Programming for Intelligent Systems. Los Angeles, 1981.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

W. Kuich

Rights and permissions

Reprints 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

Publish with us

Policies and ethics