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.
Preview
Unable to display preview. Download preview PDF.
References
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.
M. Bruynooghe. A practical framework for the abstract interpretation of logic programs. Journal of Logic Programming, 10(2):91–124, February 1991.
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.
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.
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.
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.
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.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2–3), 1992.
P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, 1992.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
B. Le Charlier and P. Van Hentenryck. Reexecution in abstract interpretation of Prolog. Acta Informatica, 32:209–253, 1995.
K. Musumbu. Interprétation Abstraite de Programmes Prolog. PhD thesis, Institute of Computer Science, University of Namur, Belgium, September 1990. In French.
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.
J. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge Mass., 1977.
P. Van Hentenryck. Personal communication, June 1997. *** DIRECT SUPPORT *** A0008C44 00010
Author information
Authors and Affiliations
Editor information
Rights 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