Advertisement

Intuitionistic implication in abstract interpretation

  • Roberto Giacobazzi
  • Francesca Scozzari
Program Analysis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1292)

Abstract

In this paper we introduce the notion of Heyting completion in abstract interpretation, and we prove that it supplies a logical basis to specify relational program analyses by means of intuitionistic implication. This provides a uniform algebraic setting where abstract domains can be specified by simple logic formulas, or as solutions of recursive abstract domain equations, involving few basic operations for domain construction. We apply our framework to study directionality in type inference and groundness analysis in logic programming.

Keywords

Abstract interpretation directional types domains intuitionistic logic logic programming static analysis 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    A. Aiken and T.K. Lakshman. Directional type checking of logic programs. In Proc. 1 st Static Analysis Symp. SAS'94, LNCS 864, pp. 43–60. Springer, 1994.Google Scholar
  2. 2.
    K. R. Apt. Introduction to logic programming. In Handbook of Theoretical Computer Science, Vol. B, pp. 495–574. Elsevier, 1990.Google Scholar
  3. 3.
    T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard. Boolean functions for dependency analysis: algebraic properties and efficient representation. In Proc. 1 st Static Analysis Symp. SAS'94, LNCS 864, pp. 266–280. Springer, 1994.Google Scholar
  4. 4.
    R. Barbuti, R. Giacobazzi, and G. Levi. A general framework for semantics-based bottom-up abstract interpretation of logic programs. ACM TOPLAS, 15(1):133–181, 1993.Google Scholar
  5. 5.
    G. Birkhoff. Lattice theory. In AMS Colloquium Publication, third ed. AMS Press, 1967.Google Scholar
  6. 6.
    F. Bronsard, T.K. Lakshman, and U.S. Reddy. A framework of directionality for proving termination of logic programs. In Proc. 1992 Joint Int'l Conf. and Symp. Logic Prog., pp. 321–335. MIT Press, 1992.Google Scholar
  7. 7.
    M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. J. of Logic Programm. 10:91–124, 1991.Google Scholar
  8. 8.
    M. Codish and B. Demoen. Deriving type dependencies for logic programs using multiple incarnations of Prop. In Proc. 1 st Static Analysis Symp. SAS'94, LNCS 864. Springer, 1994.Google Scholar
  9. 9.
    M. Codish, A. Mulkers, M. Bruynooghe, M. Garcia de la Banda, and M. Hermenegildo. Improving abstract interpretations by combining domains. ACM TOPLAS, 17(1):28–44, 1995.Google Scholar
  10. 10.
    A. Cortesi, G. Filé, R. Giacobazzi, C. Palamidessi, and F. Ranzato. Complementation in abstract interpretation. ACM TOPLAS 19(1):7–47, 1997.Google Scholar
  11. 11.
    A. Cortesi, G. Filé, and W. Winsborough. Prop revisited: Propositional formulas as abstract domain for groundness analysis. In Proc. 6th IEEE LICS, pp. 322–327. IEEE Comp. Soc. Press, 1991.Google Scholar
  12. 12.
    A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combinations of abstract domains for logic programming. In 21St ACM POPL, pp. 227–239. ACM Press, 1994.Google Scholar
  13. 13.
    P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In 4 th ACM POPL, pp. 238–252. ACM Press, 1977.Google Scholar
  14. 14.
    P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In 6 th ACM POPL, pp. 269–282. ACM Press, 1979.Google Scholar
  15. 15.
    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. 1994 Int'l Conf. on Comp. Lang. ICCL'94, pp. 95–112. IEEE Comp. Soc. Press, 1994.Google Scholar
  16. 16.
    G. Filé, R. Giacobazzi, and F. Ranzato. A unifying view on abstract domain design. ACM Comp. Surveys, 28(2):333–336, 1996.Google Scholar
  17. 17.
    G. Filé and F. Ranzato. Improving abstract interpretations by systematic lifting to the powerset. In Proc. 1994 Int'l Logic Prog. Symp., pp. 655–669. MIT Press, 1994.Google Scholar
  18. 18.
    R. Giacobazzi and F. Ranzato. Functional dependencies and Moore-set completions of abstract interpretations and semantics. In Proc. 1995 Int'l Logic Prog. Symp., pp. 321–335. MIT Press, 1995.Google Scholar
  19. 19.
    R. Giacobazzi and F. Ranzato. Compositional optimization of disjunctive abstract interpretations. In Proc. ESOP'96, LNCS 1058, pp. 141–155. Springer, 1996.Google Scholar
  20. 20.
    C. Hankin and D. Le Metayer. Deriving algorithms from type inference systems: Applications to strictness analysis. In 21 st ACM POPL, pp. 202–212. ACM Press, 1994.Google Scholar
  21. 21.
    T.P. Jensen. Disjunctive strictness analysis. In 7 th IEEE LICS, pp. 174–185. IEEE Comp. Soc. Press, 1992.Google Scholar
  22. 22.
    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.Google Scholar
  23. 23.
    N.D. Jones and S.S. Muchnick. Complexity of flow analysis, inductive assertion synthesis and a language due to Dijkstra. In S. Muchnick and N.D. Jones, eds., Program Flow analysis: Theory and Applications, pp. 380–393. Prentice-Hall, 1981.Google Scholar
  24. 24.
    J. Morgado. Some results on the closure operators of partially ordered sets. Port. Math., 19(2):101–139, 1960.Google Scholar
  25. 25.
    A. Mycroft and F. Nielson. Strong abstract interpretation using power domains. In Proc. 10 th ICALP, LNCS 154, pp. 536–547. Springer, 1983.Google Scholar
  26. 26.
    F. Nielson. Tensor products generalize the relational data flow analysis method. In Proc. 4 th Hung. Comp. Science Conf, pp. 211–225, 1985.Google Scholar
  27. 27.
    K. Yi and W.L. Harrison. Automatic generation and management of interprocedural program analyses. In 20 th ACM POPL, pp. 246–259. ACM Press, 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Roberto Giacobazzi
    • 1
  • Francesca Scozzari
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations