Skip to main content

On the desirable link between theory and practice in abstract interpretation (extended abstract)

  • Invited Tutorials
  • Conference paper
  • First Online:
Static Analysis (SAS 1997)

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

Included in the following conference series:

  • 94 Accesses

Abstract

Abstract interpretation was originally introduced by Patrick and Radhia Cousot as a unifying mathematical framework underlying the design of practical program analyses. In this paper, we reconsider some theoretical concepts and assumptions most often used in abstract interpretation. We argue that they impose too strong mathematical conditions on the abstract semantics of programs and so do not allow a practical and provably correct implementation of complex analyses. As a solution, we advocate the use of a weaker and more general methodology, which is essentially based on the concept of (explicit) specification. We illustrate the methodology through a historical review of the abstract interpretation system GAIA.

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. C. Braem, B. Le Charlier, S. Modard, and P. Van Hentenryck. Cardinality analysis of Prolog. In M. Bruynooghe, editor, Proceedings of the International Logic Programming Symposium (ILPS'94), Ithaca NY, USA, November 1994. MIT Press.

    Google Scholar 

  2. M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. Journal of Logic Programming, 10(2):91–124, February 1991.

    Google Scholar 

  3. M. Bruynooghe, G. Janssens, A. Callebaut, and B. Demoen. Abstract interpretation: Towards the global optimization of Prolog programs. In Proceedings of the 1987 Symposium on Logic Programming, pages 192–204, San Francisco, California, August 1987. Computer Society Press of the IEEE.

    Google Scholar 

  4. P. Codognet and G. File. Computations, abstractions and constraints in logic programs. In Proceedings of the fourth International Conference on Computer Languages (ICCL'92), Oakland, U.S.A., April 1992.

    Google Scholar 

  5. A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Combination of abstract domains for logic programming. In Proceedings of the 21th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'9/), Portland, Oregon, January 1994.

    Google Scholar 

  6. A. Cortesi, B. Le Charlier, and P. Van Hentenryck. Type analysis of Prolog using type graphs. Journal of Logic Programming, 23(3):237–278, June 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 Conference Record of Fourth ACM Symposium on Programming Languages (POPL'77), pages 238–252, Los Angeles, California, January 1977.

    Google Scholar 

  8. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2–3), 1992.

    Google Scholar 

  9. P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, 1992.

    Google Scholar 

  10. P. Cousot and R. Cousot.Comparison of the Galois connection and widening/narrowing approaches to abstract interpretation (invited paper). In M. Bruynooghe and M. Wirsing, editors, Proceedings of the Fourth International Workshop on Programming Language Implementation and Logic Programming (PLILP'92), Lecture Notes in Computer Science, Leuven, August 1992. Springer-Verlag.

    Google Scholar 

  11. R.A. De Millo, R.J. Lipton, and A.J. Perlis. Social processes and proofs of theorems and programs. Communications of the ACM, 22(5):271–280, 1979. Comments in Communications of the ACM, 22(11):621–630, 1979.

    Google Scholar 

  12. G. Janssens and M. Bruynooghe. Deriving descriptions of possible values of program variables by means of abstract interpretation. Journal of Logic Programming, 13(2-3):205–258, 1992.

    Google Scholar 

  13. R.B. Kieburtz and M. Napierala.Abstract semantics.In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, chapter 7, pages 143–180. Ellis Horwood Limited, 1987.

    Google Scholar 

  14. B. Le Charlier and P. Flener.Specifications are necessarily informal, or: Some more myths of formal methods. Accepted by Journal of Systems and Software, Special Issue on Formal Methods Technology Transfer, forthcoming.

    Google Scholar 

  15. B. Le Charlier, K. Musumbu, and P. Van Hentenryck. Efficient and accurate algorithms for the abstract interpretation of Prolog programs. Technical Report 37/90, Institute of Computer Science, University of Namur, Belgium, 1990.

    Google Scholar 

  16. B. Le Charlier, K. Musumbu, and P. Van Hentenryck. A generic abstract interpretation algorithm and its complexity analysis. In K. Furukawa, editor, Proceedings of the Eighth International Conference on Logic Programming (ICLP'91), Paris, France, June 1991. MIT Press.

    Google Scholar 

  17. B. Le Charlier, S. Rossi, and P. Van Hentenryck. An abstract interpretation framework which accurately handles Prolog search-rule and the cut. In M. Bruynooghe, editor, Proceedings of the International Logic Programming Symposium (ILPS'94), Ithaca NY, USA, November 1994. MIT Press.

    Google Scholar 

  18. B. Le Charlier, S. Rossi, and P. Van Hentenryck. Sequence-Based Abstract Interpretation of Prolog. Technical Report RR-97-001, Facultés Universitaires Notre-Dame de la Paix, Institut d'Informatique, January 1997.

    Google Scholar 

  19. B. Le Charlier and P. Van Hentenryck. Experimental evaluation of a generic abstract interpretation algorithm for Prolog. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(1):35–101, January 1994.

    Google Scholar 

  20. B. Le Charlier and P. Van Hentenryck. Reexecution in abstract interpretation of Prolog. Acta Informatica, 32:209–253, 1995.

    Google Scholar 

  21. K. Musumbu. Interprétation Abstraite de Programmes Prolog. PhD thesis, Institute of Computer Science, University of Namur, Belgium, September 1990. In French.

    Google Scholar 

  22. U.S. Reddy and S.N. Kamin. On the power of abstract interpretation. In J. Cordy, editor, Proceedings of the IEEE fourth International Conference on Computer Languages (ICCL'92), Oakland, U.S.A., April 1992. IEEE Press.

    Google Scholar 

  23. J. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge Mass., 1977.

    Google Scholar 

  24. P. Van Hentenryck. Personal communication, June 1997. *** DIRECT SUPPORT *** A0008C44 00010

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pascal Van Hentenryck

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Le Charlier, B., Flener, P. (1997). On the desirable link between theory and practice in abstract interpretation (extended abstract). In: Van Hentenryck, P. (eds) Static Analysis. SAS 1997. Lecture Notes in Computer Science, vol 1302. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032758

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-69576-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics