Abstract
Over recent years a number of analysis techniques have been developed for higher-order lazy functional languages, and although a few studies have been made comparing the techniques, no fundamental basis for their comparison has yet been found. We suggest that studying the properties an analysis technique can represent, and the ways it has for combining and decomposing them, provides such a basis. Using this notion, we are able to give a rational reconstruction of the use of the tensor product in abstract interpretation. Furthermore, it enables us to see what the appropriate notion of a relational method for the abstract interpretation of a higher-order functional language is, and to show that using the tensor product is not sufficient for defining such an analysis. The paper concludes with observations about several open problems.
This research was partially funded by the Semantique Project — ESPRIT BRA 3124.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Bibliography
S. Abramsky. Abstract interpretation, logical relations and Kan extensions. Journal of Logic and Computation, 1 (1): 5–39, 1990.
H.-J. Bandelt. The tensor product of continuous lattices. Mathematische Zeitschrift, 172: 89–96, 1980.
G.L. Burn. Abstract Interpretation and the Parallel Evaluation of Functional Languages. PhD thesis, Imperial College, University of London, March 1987.
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, C.L. Hankin, and S. Abramsky. Strictness analysis of higher-order functions. Science of Computer Programming, 7: 249–278, November 1986.
G.L. Burn and L.S. Hunt. Relating projection- and abstract interpretation-based analyses. Draft Manuscript, Department of Computing, Imperial College, 180 Queen’s Gate, London, SW7 2BZ, UK, July 1991.
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proceedings of the Sixth Annual Symposium on Principles of Programming Languages, pages 269–282. ACM, January 1979.
K. Davis and P. Wadler. Strictness analysis: Proved and improved. In Proceedings of the Second Annual Glasgow Workshop on Functional Programming, 21-23 August, 1989, Fraserburgh Scotland, Springer Workshops in Computing. Springer-Verlag, 1990.
C. Ernoult and A. Mycroft. Uniform ideals and strictness analysis. In Proceedings of ICALP’91. Springer-Verlag Lecture Notes in Computer Science, 1991.
P. Granger. Combinations of semantic analyses. In INRIA, editor, Proceedings of Informatika 88 (French-Soviet Workshop)pages 71–88, Nice, February 1988.
P. Hudak and J. Young. Higher order strictness analysis in untyped lambda calculus. In Proceedings of 12th ACM Symposium on Principles of Programming Languages, pages 97–109, January 1986.
R.J.M. Hughes and J. Launchbury. Towards relating forwards and backwards analyses. In Proceedings of the Third Annual Glasgow Workshop on Functional Programming, pages 145–155, Ullapool, Scotland, 13–15 August 1990.
L.S. Hunt. PERs generalise projections for strictness analysis. In Proceedings of the Third Annual Glasgow Workshop on Functional Programming, pages 156–168, Ullapool, Scotland, 13–15 August 1990.
L.S. Hunt. Forwards and backwards strictness analysis: Continuing the comparison. Unpublished manuscript, Department of Computing, Imperial College, 180 Queen’s Gate, London SW7 2BZ, UK, 3rd May 1991.
T.P. Jensen. Strictness analysis in logical form. In Proceedings of the Conference on Functional Programming and Computer Architecture, Cambridge, Massachussets, USA, 26–28 August 1991.
N.D. Jones and F. Nielson. Abstract interpretation: a semantics-based tool for program analysis. In S. Abramsky, D.M. Gabbai, and T.S.E. Maibaum, editors, Handbook of Logic in Computer Science, volume 3. Oxford University Press, 1992. To appear.
Tsung-Min Kuo and P. Mishra. Strictness analysis: a new perspective based on type inference. In Proceedings of the Conference on Functional Programming Languages and Computer Architecture, pages 260–272, London, 11–13 September 1989. ACM.
J. Lambek and P.J. Scott. Introduction to Higher Order Categorical Logic. Number 7 in Cambridge Studies in Advanced Mathematics. Cambridge University Press, 1986.
S. Lang. Algebra. Addison-Wesley, second edition, 1984.
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.
A. Mycroft. Abstract Interpretation and Optimising Transformations for Applicative Programs. PhD thesis, University of Edinburgh, Department of Computer Science, December 1981. Also published as CST-15-81.
F. Nielson. Tensor products generalize 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. Riis Nielson. The tensor product in Wadler’s analysis of lists. Preliminary version of Chapter 8 of Two-level Functional Languages, CUP, 1992.
G.D. Plotkin. Lambda definability and logical relations. Technical report, Department of AI, University of Edinburgh, 1973.
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.
D.A. Wright. A new technique for strictness analysis. In Proceedings of TAPSOFT91, Brighton, UK, 8–12 April 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1992 British Computer Society
About this paper
Cite this paper
Burn, G.L. (1992). The Abstract Interpretation of Higher-Order Functional Languages: From Properties to Abstract Domains. In: Heldal, R., Holst, C.K., Wadler, P. (eds) Functional Programming, Glasgow 1991. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3196-0_5
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3196-0_5
Publisher Name: Springer, London
Print ISBN: 978-3-540-19760-7
Online ISBN: 978-1-4471-3196-0
eBook Packages: Springer Book Archive