Skip to main content

Complete abstract interpretations made constructive

  • Contributed Papers
  • Conference paper
  • First Online:
Book cover Mathematical Foundations of Computer Science 1998 (MFCS 1998)

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

Abstract

Completeness is a desirable, although uncommon, property of abstract interpretations, formalizing the intuition that, relatively to the underlying abstract domains, the abstract semantics is as precise as possible. We consider here the most general form of completeness, where concrete semantic functions can have different domains and ranges, a case particularly relevant in functional programming. In this setting, our main contributions are as follows. (i) Under the weak and reasonable hypothesis of dealing with continuous semantic functions, a constructive characterization of complete abstract interpretations is given. (ii) It turns out that completeness is an abstract domain property. By exploiting (i), we therefore provide explicit constructive characterizations for the least complete extension and the greatest complete restriction of abstract domains. This considerably extends previous work by the first two authors, who recently proved results of mere existence for more restricted forms of least complete extension and greatest complete restriction. (iii) Our results permit to generalize, from a natural perspective of completeness, the notion of quotient of abstract interpretations, a tool introduced by Cortesi et al. for comparing the expressive power of abstract interpretations. Fairly severe hypotheses are required for Cortesi et al.'s quotients to exist. We prove instead that continuity of the semantic functions guarantees the existence of our generalized quotients.

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. R. Bagnara, P.M. Hill, and E. Zaffanella. Set-sharing is redundant for pair-sharing. In Proc. 4th Int. Static Analysis Symp., LNCS 1302:53–67, 1997.

    Google Scholar 

  2. G. Birkhoff. Lattice Theory. AMS Colloq. Publications vol. XXV, 3rd ed., 1967.

    Google Scholar 

  3. G.L. Burn, C. Hankin, and S. Abramsky. Strictness analysis for higher-order functions. Sci. Comput. Program., 7:249–278, 1986.

    Article  MATH  MathSciNet  Google Scholar 

  4. A. Cortesi, G. Filé, and W. Winsborough. The quotient of an abstract interpretation. Theor. Comput. Sci., 202(1–2):163–192, 1998.

    Article  MATH  Google Scholar 

  5. P. Cousot. Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique des programmes. PhD thesis, Université Scientifique et Médicale de Grenoble, 1978.

    Google Scholar 

  6. P. Cousot. Completeness in abstract interpretation (Invited Lecture). In Proc. 1995 Joint Italian-Spanish Conference on Declarative Programming, pp. 37–38, 1995.

    Google Scholar 

  7. P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. 4th ACM POPL, pp. 238–252, 1977.

    Google Scholar 

  8. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. 6th ACM POPL, pp. 269–282, 1979.

    Google Scholar 

  9. P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In Proc. 19th ACM POPL, pp. 83–94, 1992.

    Google Scholar 

  10. P. Cousot and R. Cousot. Abstract interpretation of algebraic polynomial systems. In Proc. 6th AMAST Conf., LNCS 1349:138–154, 1997.

    Google Scholar 

  11. R. Giacobazzi and F. Ranzato. Refining and compressing abstract domains. In Proc. 24th ICALP, LNCS 1256:771–781, 1997.

    MathSciNet  Google Scholar 

  12. R. Giacobazzi and F. Ranzato. Completeness in abstract interpretation: a domain perspective. In Proc. 6th AMAST Conf., LNCS 1349:231–245, 1997.

    Google Scholar 

  13. D. Jacobs and A. Langen. Static analysis of logic programs for independent AND-parallelism. J. Logic Program., 13(2–3):154–165, 1992.

    Google Scholar 

  14. K. Marriott and H. SØndergaard. Precise and efficient groundness analysis for logic programs. ACM Lett. Program. Lang. Syst., 2(1–4):181–196, 1993.

    Article  Google Scholar 

  15. A. Mycroft. Abstract interpretation and optimising transformations for applicative programs. PhD thesis, CST-15-81, Univ. of Edinburgh, 1981.

    Google Scholar 

  16. A. Mycroft. Completeness and predicate-based abstract interpretation. In Proc. ACM PEPM Conf., pp. 179–185, 1993.

    Google Scholar 

  17. U.S. Reddy and S.N. Kamin. On the power of abstract interpretation. Computer Languages, 19(2):79–89, 1993.

    Article  MATH  Google Scholar 

  18. R.C. Sekar, P. Mishra, and I.V. Ramakrishnan. On the power and limitation of strictness analysis. J. ACM, 44(3):505–525, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  19. H. SØndergaard. An application of abstract interpretation of logic programs: occur check reduction. In Proc. ESOP '86, LNCS 213:327–338, 1986.

    MATH  Google Scholar 

  20. B. Steffen. Optimal data flow analysis via observational equivalence. In Proc. 14th MFCS Symp., LNCS 379:492–502, 1989.

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Luboš Brim Jozef Gruska Jiří Zlatuška

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Giacobazzi, R., Ranzato, F., Scozzari, F. (1998). Complete abstract interpretations made constructive. In: Brim, L., Gruska, J., Zlatuška, J. (eds) Mathematical Foundations of Computer Science 1998. MFCS 1998. Lecture Notes in Computer Science, vol 1450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055786

Download citation

  • DOI: https://doi.org/10.1007/BFb0055786

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64827-7

  • Online ISBN: 978-3-540-68532-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics