Advertisement

Complementation in abstract interpretation

  • Agostino Cortesi
  • Gilberto Filé
  • Roberto Giacobazzi
  • Catuscia Palamidessi
  • Francesco Ranzato
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 983)

Abstract

The reduced product of abstract domains is a rather well known operation in abstract interpretation. In this paper we study the inverse operation, which we call complementation. Such an operation allows to systematically decompose domains; it provides a systematic way to design new abstract domains; it allows to simplify domain verification problems, like correctness proofs; and it yields space saving representations for domains. We show that the complement exists in most cases, and we apply complementation to two well known abstract domains, notably to the Cousot and Cousot's comportment domain for analysis of functional languages and to the complex domain Sharing for aliasing analysis of logic languages.

Keywords

Boolean Function Logic Program Closure Operator Complete Lattice Abstract Interpretation 
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.
    T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Boolean functions for dependency analysis: algebraic properties and efficient representation. In Proc. of SAS '94, LNCS 864, pp. 266–280, 1994.Google Scholar
  2. 2.
    G. Birkhoff. Lattice Theory. AMS Colloq. Publ., vol. XXV, 3rd edition, 1967.Google Scholar
  3. 3.
    M. Codish, A. Mulkers, M. Bruynooghe, M. García de la Banda, and M. Hermenegildo. Improving abstract interpretations by combining domains. In Proc. of ACM PEPM '93, pp. 194–206, 1993.Google Scholar
  4. 4.
    M. Comini and G. Levi. An algebraic theory of observables. In Proc. of ILPS '94, pp. 172–186, 1994.Google Scholar
  5. 5.
    A. Cortesi, G. Filé, and W. Winsborough. Comparison of abstract interpretations. In Proc. of ICALP '92, LNCS 623, pp. 521–532, 1992.Google Scholar
  6. 6.
    A. Cortesi, G. Filé, and W. Winsborough. The quotient of an abstract interpretation. Tech. Rep. 12/94, Dip. di Mat. Pura ed Appl., Univ. di Padova, 1994.Google Scholar
  7. 7.
    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. Ph.D. Thesis, Univ. de Grenoble, 1978.Google Scholar
  8. 8.
    P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. of ACM POPL '77, pp. 238–252, 1977.Google Scholar
  9. 9.
    P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. of ACM POPL '79, pp. 269–282, 1979.Google Scholar
  10. 10.
    P. Cousot and R. Cousot. Constructing hierarchies of semantics by abstract interpretation. Invited Talk at WSA '92, Bordeaux, 1992.Google Scholar
  11. 11.
    P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In Proc. of ACM POPL '92, pp. 83–94, 1992.Google Scholar
  12. 12.
    P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2,3):103–179, 1992.Google Scholar
  13. 13.
    P. Cousot and R. Cousot. Higher-order abstract interpretation (and application to comportment analysis generalizing strictness, termination, projection and PER analysis of functional languages). In Proc. of ICCL '94, pp. 95–112, 1994.Google Scholar
  14. 14.
    P. Dart. On derived dependencies and connected databases. Journal of Logic Programming, 11(2):163–188, 1991.Google Scholar
  15. 15.
    P. Dwinger. On the closure operators of a complete lattice. Indagationes Math., 16:560–563, 1954.Google Scholar
  16. 16.
    G. Filé and F. Ranzato. Improving abstract interpretations by systematic lifting to the powerset. In Proc. of ILPS '94, pp. 655–669, 1994.Google Scholar
  17. 17.
    O. Frink. Pseudo-complements in semi-lattices. Duke Math. Journal, 29:505–514, 1962.Google Scholar
  18. 18.
    R. Giacobazzi. On the collecting semantics of logic programs. In Proc. of the Post-ICLP '94 Workshop on Verif. and Analysis of Logic Lang., pp. 159–174, 1994.Google Scholar
  19. 19.
    R. Giacobazzi, C. Palamidessi, and F. Ranzato. Weak relative pseudo-complements of closure operators. Tech. Rep. LIX/RR/95/04, Laboratoire d'Informatique, École Polytechnique, Paris, 1995.Google Scholar
  20. 20.
    S. Hunt. PERs generalize projections for strictness analysis. In Proc. of the 1990 Glasgow Funct. Progr. Workshop, pp. 156–168, 1990.Google Scholar
  21. 21.
    D. Jacobs and A. Langen. Static analysis of logic programs for independent AND-parallelism. Journal of Logic Programming, 13(2, 3):154–165, 1992.Google Scholar
  22. 22.
    K. Marriott and H. Søndergaard. Precise and efficient groundness analysis for logic programs. ACM LOPLAS, 2(1–4):181–196, 1993.Google Scholar
  23. 23.
    J. Morgado. Note on complemented closure operators of complete lattices. Portugal. Math., 21(3):135–142, 1962.Google Scholar
  24. 24.
    K. Muthukumar and M. Hermenegildo. Combined determination of sharing and freeness of program variables through abstract interpretation. In Proc. of ICLP '91, pp. 49–63, 1991.Google Scholar
  25. 25.
    A. Mycroft. The theory and practice of transforming call-by-need into call-by-value. In Proc. of 4th Intern. Symp. on Programming, LNCS 83, pp. 270–281, 1980.Google Scholar
  26. 26.
    A. Mycroft. Abstract interpretation and optimizing transformations for applicative programs. Ph.D. Thesis, Dept. of Comp. Sc., Univ. of Edinburgh, CST-15-81, 1981.Google Scholar
  27. 27.
    F. Nielson. Tensor products generalize the relational data flow analysis method. In Proc. of 4th Hung. Comp. Sc. Conf., pp. 211–225, 1985.Google Scholar
  28. 28.
    R. Sundararajan and J. Conery. An abstract interpretation scheme for groundness, freeness, and sharing analysis of logic programs. In Proc. of FST&TCS '92, LNCS 652, pp. 203–216, 1992.Google Scholar
  29. 29.
    J. Varlet. Contribution à l'étude des treillis pseudo-complémentés et des treillis de Stone. Mém. de la Soc. Roy. des Sc. de Liège, 5eme série, 8(4):1–71, 1963.Google Scholar
  30. 30.
    P.L. Wadler and R.J.M. Hughes. Projections for strictness analysis. In Proc. of ACM FPCA '87, LNCS 274, pp. 385–407, 1987.Google Scholar
  31. 31.
    M. Ward. The closure operators of a lattice. Ann. of Math., 43(2):191–196, 1942.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Agostino Cortesi
    • 1
  • Gilberto Filé
    • 2
  • Roberto Giacobazzi
    • 3
  • Catuscia Palamidessi
    • 4
  • Francesco Ranzato
    • 5
  1. 1.Dipartimento di Matematica Applicata e InformaticaUniversità di VeneziaMestre-VeneziaItaly
  2. 2.Dipartimento di Matematica Pura ed ApplicataUniversità di PadovaPadovaItaly
  3. 3.Laboratoire d'Informatique, École PolytechniqueLIXPalaiseau cedexFrance
  4. 4.Dipartimento di Informatica e Scienze dell'InformazioneUniversità di GenovaGenovaItaly
  5. 5.Dipartimento di Matematica Pura ed ApplicataUniversità di PadovaPadovaItaly

Personalised recommendations