Skip to main content

Intuitionistic implication in abstract interpretation

  • Program Analysis
  • Conference paper
  • First Online:
Programming Languages: Implementations, Logics, and Programs (PLILP 1997)

Part of the book series: Lecture Notes in Computer Science ((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.

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. 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. K. R. Apt. Introduction to logic programming. In Handbook of Theoretical Computer Science, Vol. B, pp. 495–574. Elsevier, 1990.

    Google Scholar 

  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. 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. G. Birkhoff. Lattice theory. In AMS Colloquium Publication, third ed. AMS Press, 1967.

    Google Scholar 

  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. M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. J. of Logic Programm. 10:91–124, 1991.

    Google Scholar 

  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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. T.P. Jensen. Disjunctive strictness analysis. In 7 th IEEE LICS, pp. 174–185. IEEE Comp. Soc. Press, 1992.

    Google Scholar 

  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. 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. J. Morgado. Some results on the closure operators of partially ordered sets. Port. Math., 19(2):101–139, 1960.

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hugh Glaser Pieter Hartel Herbert Kuchen

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Giacobazzi, R., Scozzari, F. (1997). Intuitionistic implication in abstract interpretation. In: Glaser, H., Hartel, P., Kuchen, H. (eds) Programming Languages: Implementations, Logics, and Programs. PLILP 1997. Lecture Notes in Computer Science, vol 1292. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0033844

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63398-3

  • Online ISBN: 978-3-540-69537-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics