31 citations found. Retrieving documents...
Neil D. Jones. Flow analysis of lambda expressions. In Proceedings of Eighth Colloquium on Automata, Languages, and Programming, volume 115 of LNCS. Springer-Verlag, 1981.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Subtransitive CFA using Types - Saha, al. (1998)   (2 citations)  (Correct)

....programs that make significant use of higher order features, this analysis is very crude, and may result in many lost opportunities for optimization. Over the last 20 years, a number of more aggressive approaches to control flow analysis have been considered. Starting from the early work by Jones [11, 12] and then Shivers [15] there has been an explosion of interest in issues such as extending the basic analysis to data structures, references, arrays, implementation strategies and polyvariance, e.g. 2, 6, 1, 5, 10, 16, 4] The first author was sponsored in part by a summer internship at Bell ....

N. Jones, "Flow Analysis of Lambda Expressions", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.


Design and Correctness of Program Transformations Based.. - Banerjee, Heintze.. (2001)   (6 citations)  (Correct)

....first order language. We first show that defunctionalization is correct; using this proof and common semantic techniques, we then show how two program transformations flow based inlining and lightweight defunctionalization can be proven correct. 1 Introduction Control flow analysis (CFA) [20, 37, 38] is a program analysis that computes an approximation to the set of functions or methods that may be called at a call site. CFA s usefulness stems from the style of programming in functional and object oriented languages. Typically, programs in such languages have small basic blocks and use ....

....limit the applicability of standard intraprocedural optimizations [2, 25] and increase the importance of interprocedural optimizations. CFA enables interprocedural optimizations, and so is used frequently [7, 9, 10, 17, 19, 38, 41, 46] The correctness of CFA itself has been widely studied [15, 18 20, 28 30, 37, 38], but little is known about how to prove the correctness of CFA based transformations. An analogous situation for dataflow analysis and dataflow analysis based transformations was recognized and addressed in the 1980s [27] The correctness proofs that we know of, notably those of Wand and his ....

N. D. Jones. Flow analysis of lambda expressions (preliminary version). In S. Even and O. Kariv, editors, Automata, Languages and Programming: Eighth Colloquium, volume 115 of Lect. Notes in Computer Sci., pages 114--128. Springer-Verlag, July 1981.


Flow Analysis: Games and Nets - Hankin, Nagarajan, Sampath   (Correct)

....performs dynamic transitive closure of a graph that is based on the judgement associated with the proof net. Correctness of the algorithm relies on the correspondence between proof nets and certain kinds of strategies in game semantics. 1 Introduction Twenty years ago Neil Jones published [Jon81] in the 8th International Colloquium on Automata, Languages and Programming. The paper opens with the words: A method is described to extract from an untyped expression information about the sequence of intermediate expressions obtained during its evaluation. From a ow analysis ....

....a program. By control ow, we mean that we are not interested in the ow of data in a program; rather, we are interested in how control ows from one function to another during the execution of a program. There are a number of characterisations of control ow for higher order functional languages [Shi91,Ses91,Deu92,Jon81,NN97]. We follow the approach to control ow used in [Ses91] this approach is also known as closure analysis and approximates the set of abstractions that can be bound to a given variable. In this paper, we abstract the execution trace of game semantics to perform a variant of control ow analysis ....

Neil D Jones. Flow analysis of lambda expressions. In S Even and O Kariv, editors, Proceedings of ICALP'81, number 115 in Lecture Notes in Computer Science, pages 114-128, Acre (Akko), Israel, July 1981. Springer-Verlag.


A New Approach to Control Flow Analysis - Malacaria, Hankin (1998)   (5 citations)  (Correct)

....control ow in rst order languages is almost trivial. It is a much more dicult problem for higher order languages where functions may be passed as parameters and invoked from anywhere in the program. Over recent years there has been intense activity in designing CFAs for higherorder languages [4, 5, 12, 16 18, 20, 22, 23, 26, 27]. There has been convergence on the de nition of the fundamental notion of CFA which has been dubbed standard CFA by [14] A number of algorithms have been proposed for standard CFA. The best algorithms are cubic; recent work by Heintze and McAllester suggests that this situation cannot be ....

....games and are related to the linear head reduction of the main term [7] 3. An environment and cache [22] are constructed from the resulting graph. The approaches to CFA in the literature can be categorised under four headings: Abstract Machines: Historically this was one of the rst approaches [18]. Closure information is collected by abstracting the states of an abstract machine an SECD like machine in the case of Jones [18] and the Geometry of Interaction Machine in the case of Jensen and Mackie [17] Abstract Semantics: In this approach, closure information is collected by a ....

[Article contains additional citation context not shown here]

Jones N. D. Flow analysis of lambda expressions. In Proc. ICALP'81, LNCS 115, pp 114-128, Springer-Verlag, 1981.


Using Program Structure to Guide Optimization in the Presence of.. - Tarditi (1994)   (Correct)

....of the new global optimizer against the current SML NJ global optimizer. My thesis differs from previous work on understanding the structure of functional programs (control flow analysis) in that my focus is on applying control flow analysis and using it to improve optimization. Previous works [46, 63, 27, 54, 55, 24, 21] focused on analyzing the structure of program, and not on using the information. I contend that the approximations used in these previous works which have been shown to be practical to compute are not always useful for determining the structure of programs; they are often too inaccurate. I ....

....allocation by making use of the call graph. He also considered limiting inlining to only structured loops. This had worse performance than the normal inlining strategy. 5. 2 Constructing control flow and call graphs Many researchers have investigated constructing control flow and call graphs [46, 63, 27, 54, 55, 24, 21, 26]. Ryder [46] investigated the construction of call graphs for Fortran programs, which are recursion free. Weihl [63] studied the effect of pointers and procedure variables on constructing call graphs and control flow graphs. The source language is unclear, and the algorithms are presented in an ....

[Article contains additional citation context not shown here]

Neil D. Jones. Flow analysis of lambda expressions.


Flow Analysis: Games and Nets (Extended Abstract) - Hankin, Nagarajan, Sampath (2002)   (Correct)

....evaluates to. An early contribution to control flow analysis was Jones work on Contact Author: P.Sampath, Imperial College, Dept. of Computer Science, London SW7 2BZ; Telephone: 44 (020) 8868 4557, Fax: 44 (020) 8723 6769, e mail: p.sampath doc.ic. ac.uk flow analysis of lambda expressions [17] which used the framework of abstract machines to formulate the analysis. Subsequent work has explored various aspects of controlflow analysis [41, 15, 36, 32, 34] Most approaches in the literature specify control flow analysis as the solution to a set of (in)equations derived from the syntax of ....

....By control flow, we mean that we are not interested in the flow of data in a program; rather, we are interested in how control flows from one function to another during the execution of a program. There are a number of characterisations of control flow for higher order functional languages [41, 40, 10, 17, 34]. We follow the approach to control flow used in [40] this approach is also known as closure analysis and approximates the set of abstractions that can be bound to a given variable. We abstract the execution trace of game semantics to perform control flow analysis. From the correspondence ....

N. D. Jones. Flow analysis of lambda expressions. In Even and Kariv [11], pages 114--128.


Selective and Lightweight Closure Conversion - Steckler, WAND (1996)   (32 citations)  (Correct)

....using solutions to justify program transformations. Wand introduced the idea of showing that any solution to a set of constraints yields a correct transformation, in the context of partial evaluation [Wand 1993] The idea of approximating an occurrence closure by an abstract closure comes from [Jones 1981]; this is the extension of the idea of record types used in [Jones and Muchnick 1982] to an occurrence closure evaluator. In [Wand 1992] Wand gave an alternative proof of correctness for a closure conversion algorithm by semantic methods. There, the correctness proof was that, under certain ....

Jones, N. D. 1981. Flow analysis of lambda expressions. In International Colloquium on Automata, Languages, and Programming.


Control-Flow Analysis for ML in Linear Time - Heintze, McAllester (1996)   (3 citations)  (Correct)

....can be passed around as data and subsequently called from anywhere in the program. This limits compiler optimization. One way to address this problem is to perform control flow analysis (CFA) to determine (an approximation) of the functions that may be called from each call site in a program [7, 8, 14, 13]. In fact some form of CFA is used in most forms of analyses for higher order languages. Bell Labs, 600 Mountain Ave, Murray Hill, NJ 07974, nch bell labs.com. y AT T Labs, 600 Mountain Ave, Murray Hill, NJ 07974, dmac research.att.com. Many different control flow analyses have been ....

N. Jones, "Flow Analysis of Lambda Expressions", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.


Control-Flow Analysis and Type Systems - Heintze (1995)   (45 citations)  (Correct)

....program text because a function can be passed around as data and subsequently called from anywhere in the program. If this happens sufficiently often, then the lack of control flow information can significantly limit compiler performance. To addresses this issue, systems for control flow analysis [3, 4, 10, 2, 8] have been developed. The purpose of control flow analysis is to compute an approximation of the possible functions that can be called from each program point. In contrast, the purpose of a type inference system is to derive invariants about the potential bindings of variables in a program. ....

....3. Hence, we shall use annotations fl that are finite subsets of LABELS [fIntg. Our presentations of control flow systems is closely related to those by Palsberg and Schwartzbach [7, 8] 4. 1 Standard CFA We begin a system that corresponds to a widely studied notion of control flow analysis [3, 4, 10, 7, 8], often called control flow 0. The system we give is equivalent to the system described by Palsberg and Schwartzbach in [7, 8] The only difference is in presentation: we directly use annotated terms instead of set variables and constraints. We present the system by defining that an annotated term ....

N. Jones, "Flow Analysis of Lambda Expressions", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.


Control-Flow Analysis and Type Systems - Heintze (1995)   (45 citations)  (Correct)

.... 5000 Forbes Ave. Pittsburgh, PA 15213, USA. Email: nch cs.cmu.edu. called from anywhere in the program. If this happens sufficiently often, then the lack of control flow information can significantly limit compiler performance. To addresses this issue, systems for control flow analysis [4, 5, 11, 2, 9] have been developed. The purpose of control flow analysis is to compute an approximation of the possible functions that can be called from each program point. In contrast, the purpose of a type inference system is to derive invariants about the potential bindings of variables in a program. ....

....3. Hence, we shall use annotations fl that are finite subsets of labels [fIntg. Our presentations of control flow systems is closely related to those by Palsberg and Schwartzbach [8, 9] 4. 1 Standard CFA We begin a system that corresponds to a widely studied notion of control flow analysis [4, 5, 11, 8, 9], often called control flow 0. The system we give is equivalent to the system described by Palsberg and Schwartzbach in [8, 9] The only difference is in presentation: we directly use annotated terms instead of set variables and constraints. We present the system by defining that an annotated ....

N. Jones, "Flow Analysis of Lambda Expressions", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.


Set Constraints for Destructive Array Update Optimization - Wand, Clinger (1999)   (18 citations)  (Correct)

....non strict languages, however, and has exponential time complexity. As in most work of this kind, they prove the soundness of their analyses but do not prove the correctness of any program transformations. The style of analysis as constraint generation is drawn from [PS95] which in turn drew on [JM82, Ses88, Jon81, Shi91]. SW97] used similar ideas to prove the correctness of a closure conversion algorithm. Felleisen and Flanagan [FF95] used the same set of ideas to eliminate type checks in Scheme programs. Their proof also used an architecture quite similar to ours. A competing paradigm for finding safety ....

Neil D. Jones. Flow analysis of lambda expressions. In International Colloquium on Automata, Languages, and Programming, 1981.


Constraint Systems for Useless Variable Elimination - Wand, Siveroni (1999)   (22 citations)  (Correct)

....Shivers work by proving the correctness of the transformation. Our transformation also eliminates useless let bindings and replaces recursive abstractions by non recursive ones when possible. Shivers result is an application of controlflow analysis, which has been rediscovered several times [Jon81, JM82, Ses88, Shi91] The formulation of controlflow analysis as a constraint problem is largely due to [Hei92, PS94] Our transformation is the extension to higher order languages of optimizations such as as dead code elimination, useless variable elimination, and unreachable code elimination, ....

Neil D. Jones. Flow analysis of lambda expressions. In International Colloquium on Automata, Languages, and Programming, 1981.


Linear-time Subtransitive Control Flow Analysis - Heintze, McAllester (1997)   (32 citations)  (Correct)

....can be passed around as data and subsequently called from anywhere in the program. This limits compiler optimization. One way to address this problem is to perform control flow analysis (CFA) to determine (an approximation) of the functions that may be called from each call site in a program [8, 9, 17, 16]. In fact, some form of CFA is used in most forms of analyses for higher order languages. Many different control flow analyses have been developed (often independently) with variations in: 1. the treatment of context: does the analysis take into account the calling context of a function ....

N. Jones, "Flow Analysis of Lambda Expressions ", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.


A Modular, Polyvariant, and Type-Based Closure Analysis - Banerjee   (Correct)

....two program points via function calls and can arise as the result of evaluation at any program point. Thus one needs to calculate flow information it cannot be deciphered from an inspection of the structure of the program text. Hence, a number of control flow analyses have been proposed [8, 11, 20] for higher order programs. Since functions are traditionally implemented as closures, such analyses are also called closure analyses [19] 1 All of them To appear in ICFP 97. y Minneapolis, MN 55414, USA. Phone: 1) 612)379 3844, Fax: 1) 612)379 3833. This work was supported by a ....

Neil D. Jones. Flow analysis of lambda expressions. In Proceedings of Eighth Colloquium on Automata, Languages, and Programming, volume 115 of LNCS. Springer-Verlag, 1981.


Set Constraints for Destructive Array Update Optimization - Wand, Clinger (1998)   (18 citations)  (Correct)

....non strict languages, however, and has exponential time complexity. As in most work of this kind, they prove the soundness of their analyses but do not prove the correctness of any program transformations. The style of analysis as constraint generation is drawn from [PS95] which in turn drew on [JM82, Ses88, Jon81, Shi91]. SW97] used similar ideas to prove the correctness of a closure conversion algorithm. Felleisen and Flanagan [FF95] used the same set of ideas to eliminate type checks in Scheme programs. Their proof also used an architecture quite similar to ours. A competing paradigm for finding safety ....

Neil D. Jones. Flow analysis of lambda expressions. In International Colloquium on Automata, Languages, and Programming, 1981.


Binding-time Analysis: Abstract Interpretation versus Type .. - Palsberg, Schwartzbach (1994)   (7 citations)  (Correct)

.... Master s thesis [4] Henglein gave a pseudo linear time algorithm for computing this v least term [7] A New Notion of Well annotatedness The new notion of well annotatedness is based on an abstract interpretation called closure analysis [18, 2] also called control flow analysis by Jones [10] and Shivers [19] The closures of a term are simply the subterms corresponding to abstractions. A closure analysis approximates for every subterm the set of possible closures to which it may evaluate [10, 18, 2, 19] Both Bondorf and Consel s binding time analyses may be understood as a closure ....

....interpretation called closure analysis [18, 2] also called control flow analysis by Jones [10] and Shivers [19] The closures of a term are simply the subterms corresponding to abstractions. A closure analysis approximates for every subterm the set of possible closures to which it may evaluate [10, 18, 2, 19]. Both Bondorf and Consel s binding time analyses may be understood as a closure analysis that in addition to closures also incorporates a special value Dyn (Dyn is called D by Bondorf) The intuition behind Dyn is the same as that behind the Dyn used in Gomard Jones well annotatedness. We define ....

Neil D. Jones. Flow analysis of lambda expressions. In Proc. Eighth Colloquium on Automata, Languages, and Programming, pages 114--128. Springer-Verlag (LNCS 115), 1981.


The Semantics and Implementation of Bindings in Higher-Order.. - Banerjee (1995)   (Correct)

....to a closure, whose code is a abstraction labeled , say, then must have been predicted by the non standard semantics. From this, we obtain a safe static criterion for stackability. This is discussed in Chapters 4 and 5. One of the first formalizations of closure analysis is due to Jones, see [65], though Reynolds had used it informally in defining defunctionalization of interpreters in [113] A subsequent development was [75] where closure analysis was used to implement an optimizing compiler for Scheme. Sestoft s Ph.D. thesis, 126] which formalizes a number of useful analyses used ....

Jones, N. D. Flow analysis of lambda expressions. In Proceedings of Eighth Colloquium on Automata, Languages, and Programming (1981), vol. 115 of LNCS, Springer-Verlag.


Constraint Systems for Useless Variable Elimination - Wand, Siveroni (1998)   (22 citations)  (Correct)

....Shivers work by proving the correctness of the transformation. Our transformation also eliminates useless let bindings and replaces recursive abstractions by non recursive ones when possible. Shivers result is an application of control flow analysis, which has been rediscovered several times [Jon81, JM82, Ses88, Shi91]. The formulation of control flow analysis as a constraint problem is largely due to [Hei92] Our transformation is the extension to higher order languages of optimizations such as as dead code elimination, useless variable elimination, and unreachable code elimination, which are described in ....

Neil D. Jones. Flow analysis of lambda expressions. In International Colloquium on Automata, Languages, and Programming, 1981.


Selective and Lightweight Closure Conversion - Mitchell Wand (1994)   (32 citations)  (Correct)

....Shivers work is done in the context of programs in continuation passing style. Our original development of the flow semantics in Sections 5 6 was motivated by an attempt to generalize and simplify Shivers proof. The idea of approximating an occurrence closure by an abstract closure comes from [9]; this is the straightforward extension of the idea of record types from [10] to the occurrence closure evaluator. In [16] we gave an alternative proof of a closure conversion algorithm by semantic methods. However, that was a proof of a different property: it showed that if the converted term ....

Neil D. Jones. Flow Analysis of Lambda Expressions. In International Colloquium on Automata, Languages, and Programming, 1981.


Closure Analysis in Constraint Form - Palsberg (1995)   (22 citations)  Self-citation (Jones)   (Correct)

....Machinery. To copy otherwise, or to republish, requires a fee and or specific permission. ACM Transactions on Programming Languages and Systems, 17(1) 47 62, January 1995. Also in Proc. CAAP 94, pages 276 290. c fl 2 Delta Jens Palsberg by Ayers [1992] Bondorf [1991] Consel [1990] Jones [1981], Heintze [1992] Sestoft [1989; 1991] Shivers [1991a; 1991b] Wand and Steckler [1994] and others. Although the analyses are used for rather different tasks such as type recovery, globalization, and binding time analysis, they are all based on essentially the same idea: Key idea. In the ....

Jones, N. D. 1981. Flow analysis of lambda expressions. In Proceedings of the 8th Colloquium on Automata, Languages, and Programming. Lecture Notes in Computer Science, vol. 115.


A Modular, Polyvariant, and Type-Based Closure Analysis - Banerjee (1997)   (Correct)

No context found.

Neil D. Jones. Flow analysis of lambda expressions. In Proceedings of Eighth Colloquium on Automata, Languages, and Programming, volume 115 of LNCS. Springer-Verlag, 1981.


Retrospective: - Higher-Order Control-Flow Analysis   (Correct)

No context found.

Neil D. Jones. Flow analysis of lambda expressions. In Automata Languages and Programming, volume 115, pages 114--128, Lecture Notes in Computer Science, Springer-Verlag, 1981.


A Modular, Polyvariant, and Type-Based Closure Analysis - Banerjee (1997)   (Correct)

No context found.

Neil D. Jones. Flow analysis of lambda expressions. In Proceedings of Eighth Colloquium on Automata, Languages, and Programming, volume 115 of LNCS. Springer-Verlag, 1981.


On the Cubic Bottleneck in Subtyping and Flow Analysis - Heintze, McAllester (1997)   (14 citations)  (Correct)

No context found.

N. Jones, "Flow Analysis of Lambda Expressions", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.


On the Cubic Bottleneck in Subtyping and Flow Analysis - Heintze, McAllester (1997)   (14 citations)  (Correct)

No context found.

N. Jones, "Flow Analysis of Lambda Expressions", Symp. on Functional Languages and Computer Architecture, pp. 66-74, 1981.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC