## Flow Analysis in the Geometry of Interaction (1996)

Venue: | Proc. 6 th ESOP '96, Linkoping, swe, LNCS 1058 |

Citations: | 3 - 0 self |

### BibTeX

@INPROCEEDINGS{Jensen96flowanalysis,

author = {Thomas P. Jensen and Ian Mackie},

title = {Flow Analysis in the Geometry of Interaction},

booktitle = {Proc. 6 th ESOP '96, Linkoping, swe, LNCS 1058},

year = {1996},

pages = {188--203},

publisher = {Springer-Verlag}

}

### OpenURL

### 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.

### Citations

631 | Systematic Design of Program Analysis Frameworks
- Cousot, Cousot
- 1979
(Show Context)
Citation Context ...etry of Interaction machine [10]) in the guise of a transition system over the graph. The upshot of this is that the transition system can be analysed by standard methods from abstract interpretation =-=[5]. In-=- this way we obtain a framework for analysing a ��ne-grained operational semantics for normal-order evaluation of higher-order programs. The paper is organised as follows. Section 2 reviews the gr... |

536 |
The Implementation of Functional Programming Languages
- Jones
- 1987
(Show Context)
Citation Context ...ction of nodes (N ); a collection of edges (E); and a labelling (weight) function w : E ! L, for some label set L. It is well-known how to represent the -calculus (and functional languages) as graphs =-=[12]-=-. Here we present a slight variant, in that:sWe avoid the use of variable nodes in the graph by simply connecting the occurrence of a variable in a term to its binding . (The reader should observe tha... |

397 |
LCF considered as a programming language
- Plotkin
- 1977
(Show Context)
Citation Context ...nd to Carolyn Talcott for suggesting valuable improvements to this paper. 2 A functional language We begin by stating our language of study, for which we take a simple functional language akin to PCF =-=[13]-=-. The syntax is given by the following grammar: exp ::= variable j integer j t j f j x:exp j exp exp j unop exp j if exp then exp else exp unop ::= rec j succ j pred j iszero We refer the reader to th... |

297 | Control-Flow Analysis of Higher-Order Languages
- SHIVERS
- 1991
(Show Context)
Citation Context ... approximate description of the set of functions that an expression can evaluate to during execution of a program. We shall follow the approach taken in Sestoft's analysis and Shivers' 0-CFA analysis =-=[17]-=- and abstract a function to the -expression it was obtained from, i.e., we ignore the environment of a closure. We assume that the nodes in the graph G are given unique names. This naming is extended ... |

136 |
Abstract interpretation: a unied lattice model for static analysis of programs by construction or approximation of xpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ...alysis. This is not the case with the context component which can grow in��nitely large. 4 Collecting semantics The purpose of this section is to explain how the techniques of abstract interpretat=-=ion [4] can-=- be applied to the semantics de��ned in the previous section. During evaluation we can reach the same point in the -graph several times with dioeerent states. The purpose of a collecting semantics... |

100 |
Towards a geometry of interaction
- Girard
(Show Context)
Citation Context ... semantics has appeared. This paper proposes a framework for deriving analyses from a particular operational model of normalorder computation: the Geometry of Interaction. The Geometry of Interaction =-=[8]-=- operates on a graph representation of programs. The semantics of a program is a path through its graph; this path is a trace of the normal-order evaluation of the program. It describes exactly how an... |

89 |
Semantic foundations of program analysis
- Cousot
- 1981
(Show Context)
Citation Context ...ate at each port P : [[G]] coll (P ) = fs j 9s 0 2 I init : (I 0 ; s 0 ) ! (P; s)g The following theorem gives a least ��xed point characterisation of the collecting semantics. Its proof follows f=-=rom [3]-=-. Theorem 9. The collecting semantics [[G]] coll is the smallest solution to the equation set EG [ fI 0 = I init g in the complete lattice (P(States); `). 4.1 Example: equations for recursion Recall t... |

81 |
Replacing function parameters by global variables
- Sestoft
- 1989
(Show Context)
Citation Context ...te to dioeerent functions if evaluated in dioeerent contexts as is the case if it is part of a functions that is called several times. A control-AEow analysis (also called closure analysis by Sestoft =-=[15, 16]-=-) will determine an approximate description of the set of functions that an expression can evaluate to during execution of a program. We shall follow the approach taken in Sestoft's analysis and Shive... |

75 |
On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications
- Deutsch
- 1990
(Show Context)
Citation Context ...s re��nement leads to simpler abstract operations and allows to extract the AEow equations in a straightforward manner. A similar approach, but for a call-byvalue evaluator, was considered by Deut=-=sch [7] for-=- aliasing and life-time analysis of higher-order functions. Other approaches in the ��eld of closure analysis include Shivers' [17] where he develops a denotational semantics for Scheme with enoug... |

65 |
Higher-order abstract interpretation (and application to comportment analysis generalizing strictness, termination, projection and PER analysis of functional languages), invited paper
- Cousot, Cousot
(Show Context)
Citation Context ...have not yet established an exact relationship between these analyses and ours, nor can we state an exact comparison between our strictness analysis and the one cited. The Cousot and Cousot framework =-=[6] has-=- broader scope than the present work since it deals with abstracting higher-order functions in general. As an application they de��ne a comportment analysis that generalises classical strictness a... |

57 | Closure analysis in constraint form
- Palsberg
- 1995
(Show Context)
Citation Context ...valuated (i.e., the set of input states on the principal port of the corresponding graph is empty) then no bindings from this expression will appear in the ��nal result. In contrast to this, Palsb=-=erg [11]-=- has showed that closure analysis is valid under all evaluation strategies and must therefore take call-by-value evaluation into account. This would include the closures in the unused argument (Shiver... |

39 | A Naïve Time Analysis and its Theory of Cost Equivalence - Sands - 1995 |

29 |
Flow Analysis of Lambda Expressions
- Jones
- 1981
(Show Context)
Citation Context ...ease with which one passes by from semantics to collecting semantics and to a computable approximation. Our work builds upon [4, 5, 3], and continues and concretises a line of work suggested by Jones =-=[9] who pro-=-posed to apply abstract interpretation to an environment-based evaluator for the -calculus. The operational semantics chosen here is in fact a re��nement of Jones' evaluator; this re��nement l... |

28 |
The Geometry of Interaction Machine
- Mackie
- 1995
(Show Context)
Citation Context ...rder the nodes of the graph are traversed during evaluation. An evaluatorsis then any mechanism that traces out the path in the graph. We present such a mechanism (the Geometry of Interaction machine =-=[10]-=-) in the guise of a transition system over the graph. The upshot of this is that the transition system can be analysed by standard methods from abstract interpretation [5]. In this way we obtain a fra... |

18 |
The theory and practice of strictness analysis for higher order functions
- Burn, Hankin, et al.
- 1986
(Show Context)
Citation Context ...nput-output behaviour described by the strictness criterion from above, and then solve the equations with this as input. Thus the analysis does not function as the strictness analysis of Burn et. al. =-=[2] whi-=-ch will tabulate the entire abstraction of a higher-order function. The information must be obtained by posing speci��c questions to the analyser. 5.2 Usage analysis The collecting semantics conta... |

4 |
Paths in the -calculus: Three years of communication without understanding
- Asperti, Danos, et al.
- 1994
(Show Context)
Citation Context ... way of computing them is another. Here we shall see that this is easily achieved by looking at a model of the algebra. There are many possibilities for a model, but there is an important result (see =-=[1]-=-) that states that any non-trivial model is igood enoughj. Here we will present one of the simplest models [10], based on a state consisting of three stacks: Multiplicative, Exponential and Data. Stat... |

1 |
Analysis and EOEcient Implementation of Functional Programs
- Sestoft
- 1991
(Show Context)
Citation Context ...te to dioeerent functions if evaluated in dioeerent contexts as is the case if it is part of a functions that is called several times. A control-AEow analysis (also called closure analysis by Sestoft =-=[15, 16]-=-) will determine an approximate description of the set of functions that an expression can evaluate to during execution of a program. We shall follow the approach taken in Sestoft's analysis and Shive... |