Abstract
This paper describes a framework for flow analysis of programs with higher-order functions with normal-order reduction. The framework is based on an abstract machine derived from the Geometry of Interaction semantics for reduction in linear logic proof nets. By standard methods from abstract interpretation the transition system defined by the machine induces a set of equations defining the flow between the program points. This set of equations defines a collecting semantics for the program and is amenable to further analysis by abstraction-based approximation. As examples of its application we show how to obtain information about strictness, control-flow and usage of data.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
A Asperti, V Danos, C Laneve, and L Regnier. Paths in the λ-calculus: Three years of communication without understanding. In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 426–436. IEEE Computer Society Press, 1994.
G Burn, C Hankin, and S Abramsky. The theory and practice of strictness analysis for higher order functions. Science of Computer Programming, 7:249–278, 1986.
P Cousot. Semantic foundations of program analysis. In N Jones and S Muchnick, editors, Program flow analysis: theory and application, pages 303–342. Prentice-Hall, 1981.
P Cousot and R Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximations of fixpoints. In Proc. of 4th ACM Symposium on Principles of Programming Languages, pages 238–252, Los Angeles, CA, 1977. ACM Press, New York.
P Cousot and R Cousot. Systematic design of program analysis frameworks. In Proc. 6th ACM Symposium on Principles of Programming Languages, pages 269–282, San Antonio, Texas, 1979. ACM Press, New York.
P Cousot and R Cousot. Higher-order abstract interpretation (and application to comportment analysis generalising strictness, termination, projection and PER analysis of functional languages. In Proceedings of 1994 International Conference on Computer Languages, pages 95–112. IEEE Computer Society Press, 1994.
A Deutsch. On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications. In Proc. of 17. ACM Symposium on Principles of Programming Languages, pages 157–168, San Francisco, 1990. ACM Press.
J.-Y Girard. Towards a Geometry of Interaction. In J. W Gray and A Scedrov, editors, Categories in Computer Science and Logic, volume 92 of Contemporary Mathematics, pages 69–108. American Mathematical Society, 1989.
N Jones. Flow analysis of lambda expressions. In S Even and O Kariv, editors, Proc. of 8th International Colloquium on Automata, Languages and Programming, pages 114–128. Springer LNCS vol. 115, 1981.
I Mackie. The geometry of interaction machine. In Proceedings, 22nd ACM Symposium on Principles of Programming Languages, pages 198–208, 1995.
J Palsberg. Closure analysis in constraint form. ACM Trans. on Programming Languages and Systems, 17(1):47–62, 1995.
S. L Peyton Jones. The Implementation of Functional Programming Languages. Prentice Hall International, 1987.
G Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5(3):223–256, 1977.
D Sands. A naive time analysis and its theory of cost equivalence. Journal of Logic and Computation, 5(4):495–541, 1995.
P Sestoft. Replacing function parameters by global variables. Master's thesis, Univ. of Copenhagen, 1988.
P Sestoft. Analysis and Efficient Implementation of Functional Programs. PhD thesis, DIKU, University of Copenhagen, 1991. Available as DIKU Report 92/6.
O Shivers. Control-Flow Analysis of Higher-Order Languages or Taming Lambda. PhD thesis, Carnegie-Mellon University, 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jensen, T.P., Mackie, I. (1996). Flow analysis in the Geometry of Interaction. In: Nielson, H.R. (eds) Programming Languages and Systems — ESOP '96. ESOP 1996. Lecture Notes in Computer Science, vol 1058. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61055-3_37
Download citation
DOI: https://doi.org/10.1007/3-540-61055-3_37
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61055-7
Online ISBN: 978-3-540-49942-8
eBook Packages: Springer Book Archive