Abstract
Abstract interpretation is a methodology for developing provably correct program analyses. Uses of such analyses include optimising compilers and program verification.
In this introductory paper, we introduce key issues in the abstract interpretation of higher-order languages, including some open problems. Intuitions, examples and open problems are given instead of a list of theorems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
S. Abramsky. Abstract interpretation, logical relations and Kan extensions. Journal of Logic and Computation, 1 (1): 5–39, 1990.
S. Abramsky and T.P. Jensen. A relational approach to strictness analysis for higher-order functions. In Proceedings of the Symposium on Principles of Programming Languages, pages 49–54, Orlando, Florida, 21–23 January 1991.
A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques and Tools. Addison-Wesley, Reading, MA, 1986.
G. Baraki. Abstract Interpretation of Polymorphic Higher-Order Functions. PhD thesis, Department of Computer Science, University of Glasgow, Lilybank Gardens, Glasgow G12 SQQ, UK, 1993.
P.N. Benton. Strictness logic and polymorphic invariance. In A. Nerode and M. Taitslin, editors, Proceedings of the International Symposium on Logical Foundations of Computer Science,pages 33–44, Tver, Russia, 20–24 July 1992. Springer-Verlag LNCS620.
G.L. Burn. Lazy Functional Languages: Abstract Interpretation and Compilation. Research Monographs in Parallel and Distributed Computing. Pitman in association with MIT Press, 1991. 238 pp.
G.L. Burn. A logical framework for program analysis. In J. Launchbury and P. Sansom, editors, Proceedings of the 1992 Glasgow Functional Programming Workshop, pages 3042. Springer-Verlag Workshops in Computer Science series, 6–8 July 1992.
G.L. Burn. Properties of progam analysis techniques. Technical Report DOC92/19, Imperial College of Science, Technology and Medicine, Department of Computing, June 1992.
C. Clack and S.L. Peyton Jones. Strictness analysis — a practical approach. In J.-P. Jouannaud, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 35–49. Springer-Verlag LNCS 201, September1985.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13 (2–3): 103–179, 1992.
P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In M. Bruynooghe and M. Wirsing, editors, Programming Language Implementation and Logic Programming, Proceedings of the Fourth International Symposium, pages 269–295. Springer-Verlag LNCS631, Leuven, Belgium, August 1992.
P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In POPL’92, pages 83–95. ACM, Albuquerque, New Mexico, 19–22 January 1992.
A. Deutsch. An operational model of strictness properties and its abstractions (extended abstract). In R. Heldal, C. Kehler Holst, and P. Wadler, editors, Proceedings of the 1991 Glasgow Functional Programming Workshop, 13–15 August 1991.
C. Ernoult and A. Mycroft. Uniform ideals and strictness analysis. In Proceedings of ICALP’91. Springer-Verlag Lecture Notes in Computer Science, 1991.
A.B. Ferguson and R.J.M. Huges. Abstract interpretation of higher-order functions using concrete data structures (summary). In J. Launchbury and P. Sansom, editors, Proceedings of the 1992 Glasgow Functional Programming Workshop, pages 57–61. Springer-Verlag Workshops in Computer Science series, 6–8 July 1992.
P. Granger. Combinations of semantic analyses. In INRIA, editor, Proceedings of Informatika 88 (French-Soviet Workshop), pages 71–88, Nice, February 1988.
C.V. Hall and D.S. Wise. Generating function versions using rational strictness patters. Science of Computer Programming, 12: 39–74, 1989.
Chris Hankin and Sebastian Hunt. Approximate fixed points in abstract interpretation. In B. Krieg-Brückner, editor, ESOP’92, pages 219–232. Springer-Verlag LNCS 582, 1992.
S. Holmström. Polymorphic Type Systems and Concurrent Computation in Functional Languages. PhD thesis, Chalmers Tekniska Högskola, Göteborg, Sweden, 1983.
L.S. Hunt. Abstract Interpretation of Functional Languages: From Theory to Practice. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, 1991.
L.S. Hunt and D. Sands. Binding time analysis: A new PERspective. In Proceedings of the Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM’91),pages 154–165, Yale University, USA, 11–19 June 1991. ACM.
T. P. Jensen. Abstract Interpretation in Logical Form. PhD thesis, Imperial College, University of London, November 1992.
S. Kamin. Head-strictness is not a monotonic abstract property. Information Processing Letters,1991. To appear.
C. Martin and C. Hankin. Finding fixed points in finite lattices. In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 426–445. Springer-Verlag LNCS 274, September 1987.
B. Monsuez. Type inference by abstract interpretation. Technical report, Laboratoire d’informatique de l’École Polytechnique, 91128 Palaiseau Cedex, France, February 1991.
S.S. Muchnick and N.D. Jones, editors. Program Flow Analysis: Theory and Applications. Prentice–Hall Software Series. Prentice–Hall, 1981. ISBN 0–13–729681–9.
J. Muylaert Filho and G.L. Burn. Continuation passing transformation and abstract intrepretation. In this volume.
F. Nielson. Tensor products generalise the relational data flow analysis method. In Proceedings of the 4th Hungarian Computer Science Conference, pages 211–225, 1985.
F. Nielson. Two-level semantics and abstract interpretation. Theoretical Computer Science, 69: 117–242, 1989.
F. Nielson and H. Riffs Nielson. The tensor product in Wadler’s analysis of lists. In B. Krieg-Bruckner, editor, Proceedings of ESOP’92, pages 351–370, Rennes, France, February 1992. Springer-Verlag LNCS582. Preliminary version of Chapter 8 of Two-level Functional Languages, CUP, 1992.
P. Wadler and R. J. M. Hughes. Projections for strictness analysis. In G. Kahn, editor, Proceedings of the Functional Programming Languages and Computer Architecture Conference, pages 385–407. Springer-Verlag LNCS 274, September 1987.
P.L. Wadler. Strictness analysis on non-flat domains (by abstract interpretation over finite domains). In S. Abramsky and C.L. Hankin, editors, Abstract Interpretation of Declarative Languages, chapter 12, pages 266–275. Ellis Horwood Ltd., Chichester, West Sussex, England, 1987.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 British Computer Society
About this paper
Cite this paper
Burn, G. (1993). The Abstract Interpretation of Functional Languages. In: Burn, G., Gay, S., Ryan, M. (eds) Theory and Formal Methods 1993. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3503-6_1
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3503-6_1
Publisher Name: Springer, London
Print ISBN: 978-3-540-19842-0
Online ISBN: 978-1-4471-3503-6
eBook Packages: Springer Book Archive