30 citations found. Retrieving documents...
J. Michael Ashley. A Practical and Flexible Flow Analysis for Higher-Order Languages. In Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 184--194, January 1996.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
A Demand-Driven Adaptive Type Analysis - Dubé, Feeley   (Correct)

....are removed because it is easy to do so. The additional checks that are removed by the demand driven phase are more difficult ones. In fact, the difficulty of the type checks seems to grow very rapidly as we come close to the 100 mark. This statement is supported by the numbers presented in [2] where a linear time analysis, the sub 0 cfa, obtains analysis results that are almost as useful to the optimizer than those from the 0 cfa, despite its patent negligence in the manipulation of the abstract values. Note how translating with a private Y per letrec helps both the 0 cfa and the ....

....the most important theoretical results are also found there. Except for the ideas of abstract interpretation and flexible analyses, the remainder of the presented work is, to the best of our knowledge, original. Abstract interpretation is frequently used in the field of static analysis (see [2, 7, 8, 9]) The k cfa family of analyses (see [8, 9] can, to some extent, be considered as flexible. The configurable analysis presented in [2] by Ashley and Dybvig can produce an extended family of analyses, but at compiler implementation time. Our analysis framework (see [4] allows for more subtlety ....

[Article contains additional citation context not shown here]

J. M. Ashley and R. K. Dybvig. A practical and flexible flow analysis for higher-order languages. ACM Transactions on Programming Languages and Systems, 20(4):845--868, jul 1998.


Compiling with Polymorphic and Polyvariant Flow Types - Turbak, Dimock, Muller, Wells (1997)   (4 citations)  (Correct)

....of b. In languages making heavy used of higher order functions or object methods, flow information can show global patterns that are not apparent from local structure. For example, flow analysis is used to guide function and method inlining [PC95, JW96] e#cient function representations [WS94, Ash96] the detection of loops hidden in function calls [Ash96] and type recovery and type check elimination in dynamically typed languages [Shi91b, JW95] As an example of type and flow based optimizations, consider the following ML functions: fun pfoldr p f i [ i,i) pfoldr p f i (x: xs) ....

....functions or object methods, flow information can show global patterns that are not apparent from local structure. For example, flow analysis is used to guide function and method inlining [PC95, JW96] e#cient function representations [WS94, Ash96] the detection of loops hidden in function calls [Ash96] and type recovery and type check elimination in dynamically typed languages [Shi91b, JW95] As an example of type and flow based optimizations, consider the following ML functions: fun pfoldr p f i [ i,i) pfoldr p f i (x: xs) let val (l,r) pfoldr p f i xs in if (p x) then ....

[Article contains additional citation context not shown here]

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In POPL '96 [POPL96], pages 195--207.


GOld: a link-time optimizer for Scheme - Boucher (2000)   (Correct)

....in the following code (if (pair x) foo x) bar x) the approximation for x will be constrained to only abstract values denoting pairs in the call (foo x) and to abstract values not denoting pairs in the call (bar x) This idea is not new. It is described in [27] and is now widely used [3, 18]. Note that due to its at structure, our analysis does not su er from the re ow semantics problem described in Chapter 9 of Shivers work. Interval narrowing is a similar idea. We use inequality tests in if expressions to constrain the approximations. For example, in (if ( i n) foo i) ....

M. Ashley. A Practical and Flexible Flow Analysis for Higher-Order Languages. In Proceedings of the 1996 ACM Conference on Principles of Programming Languages, 1996.


Staging Static Analyses Using Abstraction-based Program.. - Hatcliff, Dwyer, Laubach (1998)   (5 citations)  (Correct)

....Jones s framework is language independent, he gives examples using a simple flowchart language and outlines an algorithm for supercompilation of flowchart programs. Other elements in our work are inspired by Ashley s mechanisms for controlling polyvariance and generalization in flow analyses [2], Gluck and Klimov s presentation of supercompilation [16] Schmidt s presentation of abstract interpretation [28] and Srensen and Gluck s work on generalization for treestructured data [29] 1.3 Contributions To obtain a framework for staging analyses, we recast in an imperative language ....

....analysis) In our full system, the user choses between several default settings, but can also attach annotations that override the defaults at each block. The parameterization on and the widening operator explained below is inspired by Ashley s presentation of control flow analyses for Scheme [2]. 3.3 Structuring the residual program To represent the structure of the residual program, the specializer incrementally constructs a control flow graph (program skeleton) S with nodes m 2 Indices. Each node is annotated with a mark m 2 fffi; fflg. An unmarked node ffi indicates that the ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the Twenty-third Annual ACM Symposium on Principles of Programming Languages, pages 184--194, 1996.


An Assessment of Call Graph Construction Algorithms - Grove, Chambers (2000)   (Correct)

.... by dataflow, have been used to define near linear time algorithms for binding time analysis [Heng91] and alias analysis [Stee96] Ashley explored reducing propagation costs by utilizing bounded inclusion constraints in a control flow analysis of Scheme programs utilized to support inlining [Ashl96, Ashl97]. In addition to approximating 0 CFA, he also applies the same technique to develop an approximate 1 CFA analysis. Shapiro and Horwitz have developed a family of alias analysis algorithms that mix propagation and unification to yield more precise results than Steensgaard s algorithm while still ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 184--194, January 1996.


Scalable Propagation-Based Call Graph Construction Algorithms - Tip, Palsberg (2000)   (59 citations)  (Correct)

....usual propagations between them. This is potentially a poorer choice, both for accuracy and analysis time, than the approach in [11] Our static criterion for merging set variables stems from our desire to keep the algorithm simple, in particular by avoiding analysis of the run time stack. Ashley [4] also presented an algorithm that blends unification and propagation, in the setting of Scheme. 6. FUTURE WORK A comparison of our algorithms, 0 CFA, and the variations presented by Sundaresan et al. 38] and Ishizaki et al. 21] seems to require a framework in which a program transformation ....

Ashley, J. M. A practical and flexible flow analysis for higher-order languages. In Proceedings of POPL'96, 23nd Annual SIGPLAN--SIGACT Symposium on Principles of Programming Languages (1996), pp. 184--194.


Systematic Realisation of Control Flow Analyses for CML - Gasser, Nielson, Nielson (1997)   (10 citations)  (Correct)

....languages, whether imperative languages with procedures, functional languages, concurrent languages, or object oriented languages, it is much more complicated. In the literature quite some effort has been devoted to the development of control flow analyses for functional languages, see e.g. [1, 5, 8, 9, 10, 13, 15, 18, 19, 20, 21]. We believe that the overall development of control flow analyses should follow the core methodology of abstract interpretation [2, 3, 4, 11] sem ; pa0 Gamma Delta Delta Delta Gamma pan ; impl Given a programming language and its semantics (sem) we consider an abstract analysis (pa0 ) ....

J.M. Ashley. A practical and flexible flow analysis for higher-order languages. In Proc. 23th POPL, pages 184--195. ACM Press, 1996.


Scalable Program Analysis and Understanding Based on Type.. - O'Callahan (1998)   (1 citation)  (Correct)

....to work around the problem by treating static fields as fields of a single globals object; a reference to it would be passed into each method as a parameter. 3.3. The Tagged Semantics Flow analyses are often derived as abstractions of instrumented semantics that associate labels with values [A96, JW95, S88, and lots of others]. Often, a value is tagged with a label indicating the program point at which it was created. However, it is frequently useful to be able to distinguish between multiple values arising from the same program point. For example, in the following program, we would like to be able to distinguish the ....

....or about its behavior on object oriented programs. Jagannathan and Weeks [JW95] introduce a framework that encompasses set based analysis and CFA algorithms. Its simplest instantiation is equivalent to 0CFA and setbased analysis, establishing the equivalence of those two methods. Ashley [A96] gives another framework, potentially more general but in practice instantiated to just 0CFA and a simplified version of 0CFA. Performance of both methods is good for some moderately sized Scheme programs (up to 30,000 lines) and he shows that the loss of accuracy incurred by his simplifications ....

J. Ashley. A practical and flexible flow analysis for higher-order languages. Proceedings of the 23 rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1996.


Flow-Directed Closure Conversion for Typed Languages.. - Cejtin, Jagannathan..   (19 citations)  (Correct)

....0 knuth bendix 28.8 0 11.3 0 0 ratio regions 119.4 0 14.3 0 0 simple 34.2 .26 6.2 .26 0 lexgen 63.4 2.68 15.4 0 0 mlyacc 37.5 .03 10.6 0 0 MLton 14.5 .48 5.2 .34 .01 kit 13.1 .11 5.8 . 02 0 Table 3: Dynamic counts (millions second) times are shorter than previous work would suggest [Ash96, HM97, DGC98] for several reasons. First, the sets of abstract values are implemented using hash consing and the binary operations (in particular set union) are cached to avoid re computation. Second, because of monomorphisation, running 0CFA on SXML is equivalent to a polyvariant analysis on ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In ACM Symposium on Principles of Programming Languages, pages 195--207, January 1996.


Partial Evaluation of Call-by-value lambda-calculus with.. - Asai, Masuhara, Yonezawa (1996)   (1 citation)  (Correct)

....values using set based analysis for higher order calculus with updatable arrays. Landi, Ryder, and Zhang[14] Choi, Burke, and Carini[5] and Emami, Ghiya, and Hendren[11] presented interprocedural context sensitive analyses for C like programs, which is more accurate than our analysis. Ashley[2] showed a flow analysis for higher order languages with side effects, which can tune the accuracy of the analysis. Since the information we need is mutable cells, we could also use effect analysis by Talpin and Jouvelot[22] Based on a type system and constraint solving, it provides us with a ....

Ashley, J. M. "A Practical and Flexible Flow Analysis for Higher-Order Languages," Conference Record of the 23rd Annual ACM Symposium on Principles of Programming Languages, pp. 184--194 (January 1996).


Compiling with Polymorphic and Polyvariant Flow Types - Turbak, Dimock, Muller, Wells (1997)   (4 citations)  (Correct)

....of b. In languages making heavy used of higher order functions or object methods, flow information can show global patterns that are not apparent from local structure. For example, flow analysis is used to guide function and method inlining [PC95, JW96] efficient function representations [WS94, Ash96] the detection of loops hidden in function calls [Ash96] and type recovery and type check elimination in dynamically typed languages [Shi91b, JW95] As an example of type and flow based optimizations, consider the following ML functions: fun pfoldr p f i [ i,i) pfoldr p f i (x: xs) ....

....or object methods, flow information can show global patterns that are not apparent from local structure. For example, flow analysis is used to guide function and method inlining [PC95, JW96] efficient function representations [WS94, Ash96] the detection of loops hidden in function calls [Ash96] and type recovery and type check elimination in dynamically typed languages [Shi91b, JW95] As an example of type and flow based optimizations, consider the following ML functions: fun pfoldr p f i [ i,i) pfoldr p f i (x: xs) let val (l,r) pfoldr p f i xs in if (p x) then ....

[Article contains additional citation context not shown here]

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In POPL '96 [POPL96], pages 195--207.


Fast and Effective Procedure Inlining - Waddell, Dybvig (1997)   (7 citations)  (Correct)

....flow analysis to identify inlining opportunities and to estimate the size of a procedure when specialized for a particular call site. Their approach is offline: all inlining decisions are made prior to any transformation. Our algorithm combines a less accurate analysis (effectively sub 0CFA [4]) with online transformation and polyvariant specialization. The time required by their flow analysis varies widely and can be excessive 110 seconds to analyze dynamic rendering their method impractical for use in a production compiler. Ashley [3] evaluated the effectiveness of four different ....

....of a polyvariant flow analysis can be improved by running our algorithm as a pre pass. We also want to determine what additional benefit can be obtained by extending our algorithm to exploit the results of flow analysis. We plan to study these effects using the polyvariant flow analysis of Ashley [4]. Our implementation inlines procedures with free variables only when those variables can be eliminated during optimization or when the scope of the variables includes the call site. In the second case, inlining may add new free variables to closures. Although inlining often decreases and never ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 184--194, 1996.


Equality-Based Flow Analysis versus Recursive Types - Palsberg (1998)   (5 citations)  (Correct)

....of finite types is seldomly satisfied because of, for example, binary methods [4] DeFouw, Grove, and Chambers [5] experimentally compared a family of flow analysis algorithms whose time complexities are at most cubic time. Both 0 CFA= and some of its variants do well in that comparison. Ashley [2] has also presented a flow analysis with time complexity less than cubic time. It remains open how it relates to 0 CFA= Bondorf and J rgensen [3] implemented both 0 CFA and 0 CFA= for Scheme as part of the partial evaluator Similix. For Scheme, the condition of finite types does not hold in ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proc. POPL'96, 23nd Annual SIGPLAN--SIGACT Symposium on Principles of Programming Languages, pages 184--194, 1996.


CPS Transformation of Flow Information - Palsberg (1998)   (2 citations)  (Correct)

....analysis of higher order programs. Such analyses have the purpose of conservatively answering such questions as: 1) at a call site, which functions can be applied , and 2) for a function, at which call sites can it be applied There is a substantial literature on such flow analysis, for example [17, 16, 1, 3, 9, 12, 13, 19, 5]. We address the question: Question: Can we CPS transform flow information Our result is that for: ffl a simply typed calculus, ffl an equality based monovariant constraint based flow analysis, and ffl Plotkin s call by value CPS transformation [14] in the variant introduced by Danvy and ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proc. POPL'96, 23nd Annual SIGPLAN--SIGACT Symposium on Principles of Programming Languages, pages 184--194, 1996.


Fast Interprocedural Class Analysis - DeFouw, Grove, Chambers (1997)   (54 citations)  (Correct)

....as well as coping with object oriented method dispatch and supporting optimistic pruning of unreachable classes and methods. Ashley presents an algorithm framework parameterized by a contextsensitivity operator and an operator for removing undesired precision of abstract values during analysis [Ashley 96, Ashley 97] He instantiates his framework to produce an algorithm that performs only a bounded amount of propagation before falling back to a distinguished Unknown abstract value, which resembles our simply bounded OO 0 CFA O(N 2 ) algorithm. Our framework additionally supports local ....

J. Michael Ashley. A Practical and Flexible Flow Analysis for Higher-Order Languages. In Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 184-- 194, January 1996.


Dynamo: A Staged Compiler Architecture for Dynamic Program.. - Leone, Dybvig (1997)   (11 citations)  (Correct)

.... hot spots, or program regions that are frequently executed. Relatively minor improvements in such regions can yield a large overall performance gain, and it is easier to amortize the cost of dynamically optimizing frequently executed code. The compiler will also employ static flow analysis [1] to gain a high level understanding of a program s control flow. This allows the compiler to estimate execution frequency statically, and it also reveals opportunities for optimization. For example, if the compiler detects that an inner loop uses a variable whose value is fixed in an outer loop, ....

J. M. Ashley. A Practical and Flexible Flow Analysis for Higher-Order Languages. PhD thesis, Indiana University, Bloomington, 1996.


Fast and Effective Procedure Inlining - Oscar Waddell (1997)   (7 citations)  (Correct)

....flow analysis to identify inlining opportunities and to estimate the size of a procedure when specialized for a particular call site. Their approach is offline: all inlining decisions are made prior to any transformation. Our algorithm combines a less accurate analysis (effectively sub 0CFA [3]) with online transformation and polyvariant specialization. The time required by their flow analysis varies widely and can be excessive 110 seconds to analyze dynamic rendering their method impractical for use in a production compiler. Table 4. Performance increase, processing time and ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 184--194, 1996.


A Practical and Flexible Flow Analysis for Higher-Order Languages - Ashley, Dybvig (1997)   (20 citations)  Self-citation (Ashley)   (Correct)

No context found.

Ashley,J.M.andDybvig,R.K.1998. A practical and flexible flow analysis for higher-order languages (extended version). Tech. Rep. DL-1998-02, University of Kansas Design Laboratory. May.


Compiler Construction Using Scheme - Hilsdale, Ashley, Dybvig, Friedman (1995)   (1 citation)  Self-citation (Ashley)   (Correct)

....The following compile time topics have been successfully covered in a follow up course: macro expansion [9] destination driven code generation [10] copy propagation and constant folding [1] register allocation [6] and . type check elimination by abstract interpretation [16, 4]. With the exception of macro expansion, the compile time topics are about compiler optimizations. To motivate them, an assignment is given early in which the students are told to handoptimize a program that solves the eight queens problem. There is no constraint on the optimizations that may be ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. To appear in Proceedings of the ACM Symposium on Principles of Programming Languages, 1996.


The Effectiveness of Flow Analysis for Inlining - Ashley (1997)   (15 citations)  Self-citation (Ashley)   (Correct)

....are data, both control flow and data flow information must be computed simultaneously. Work in # This work supported by NSF grant CCR 9623753. the last several years, however, has made flow analyses a more viable tool for program transformations [5, 12, 26] including compiler optimizations [2, 4, 17, 18, 23]. A flow analysis is either monovariant or polyvariant. A monovariant analysis uses a single abstract evaluation context to model the evaluation of an expression. Thus, a single abstract value is associated with each expression in the program. A polyvariant analysis is more accurate, modeling the ....

....at most two passes over a program. The second is equivalent to 0CFA [24] The third is a polyvariant analysis more accurate than 0CFA but less accurate than 1CFA [24] The fourth analysis is similar to 1CFA. All four analyses are instantiations of a single, parameterized flow analysis framework [2]. The four analyses are evaluated using a variety of benchmarks. The polyvariant analyses are able to justify somewhat more inlining than the monovariant analyses but at a significantly greater cost. Code growth is also larger when a polyvariant analysis is used, although this may not hold in a ....

[Article contains additional citation context not shown here]

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 184--194. ACM, 1996.


Visualizing the Performance of Higher-Order Programs - Waddell, Ashley (1998)   (1 citation)  Self-citation (Ashley)   (Correct)

....languages are often small, aggregate execution time and interprocedural call counts are useful metrics to report to the programmer. Some form of control flow graph is needed in order to compute interprocedural call counts and aggregate execution times. Our tool uses a compile time flow analysis [4] to compute a control flow graph. The graph contains nodes for procedures and call sites. There is Figure 2: Execution frequencies for two runs of the program are compared to suggest areas with non linear time complexity. Note that the iterative function is not colored in this view. an arc from ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the 23rd Annual ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pages 184--194, January 1996.


The Effectiveness of Flow Analysis for Inlining - Ashley (1997)   (15 citations)  Self-citation (Ashley)   (Correct)

....are data, both control flow and data flow information must be computed simultaneously. Work in This work supported by NSF grant CCR 9623753. the last several years, however, has made flow analyses a more viable tool for program transformations [5, 12, 26] including compiler optimizations [2, 4, 17, 18, 23]. A flow analysis is either monovariant or polyvariant. A monovariant analysis uses a single abstract evaluation context to model the evaluation of an expression. Thus, a single abstract value is associated with each expression in the program. A polyvariant analysis is more accurate, modeling the ....

....at most two passes over a program. The second is equivalent to 0CFA [24] The third is a polyvariant analysis more accurate than 0CFA but less accurate than 1CFA [24] The fourth analysis is similar to 1CFA. All four analyses are instantiations of a single, parameterized flow analysis framework [2]. The four analyses are evaluated using a variety of benchmarks. The polyvariant analyses are able to justify somewhat more inlining than the monovariant analyses but at a significantly greater cost. Code growth is also larger when a polyvariant analysis is used, although this may not hold in a ....

[Article contains additional citation context not shown here]

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 184--194. ACM, 1996.


Collecting Interpreters Yield Constraint-Based Analyses - Ashley, Hatcliff (1998)   Self-citation (Ashley)   (Correct)

....theoretical results and as a recipe for implementors who want efficient and polyvariant set based analysis. A realistic analysis based on the analysis developed in this paper is used in a production Scheme compiler to justify optimizations such as inlining [2] and procedure call optimizations [1]. The rest of this paper is outlined as follows. In Section 2 we present an applicative language with assignment and a collecting interpreter from the language. The interpreter is given as a working Standard ML [18] program, and is parameterized on a set of value manipulating operators. In Section ....

....however, generalizes to polyvariant analyses and can be more efficient when portions of a program are unreachable. The abstract interpreter computes a transitive closure incrementally. Reducing the flow analysis problem to transitive closure is now a standard technique in the analysis community [1, 4, 6, 7, 12, 15, 19]. Our derived analysis makes no attempt to dynamically schedule the work required to compute the closure, an optimization that has had good results in the context of static analyses [3, 7, 11] Boucher and Feeley introduce a notion of abstract compilation to eliminate the interpretation overhead ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the 23rd Annual ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pages 184--194, January 1996.


A Practical and Flexible Flow Analysis for Higher-Order Languages - Ashley, Dybvig (1996)   (20 citations)  Self-citation (Ashley)   (Correct)

....The proof proceeds by induction on the execution steps of the collecting and abstract machines. The induction hypothesis states that on each step, the abstract machine maintains a cache and pending set that approximates the cache of the collecting machine. Details of the full proof are elsewhere [Ashley 1996]. 3. IMPLEMENTATION An implementation of the analysis is used in the Chez Scheme [Dybvig 1994] compiler to justify program optimizations. The compiler processes ANSI Scheme and directly supports multiple return values [Ashley and Dybvig 1994] and a variable arity procedure interface [Dybvig and ....

Ashley, J. M. 1996. A practical and flexible flow analysis for higher-order languages. Ph. D. thesis, Indiana University.


A Practical and Flexible Flow Analysis for Higher-Order Languages - Ashley, Dybvig (1996)   (20 citations)  Self-citation (Dybvig)   (Correct)

No context found.

ACM, 140--149. Ashley, J. M. and Dybvig, R. K. 1998. A practical and flexible flow analysis for higher-order languages (extended version). Tech. Rep. DL-1998-02, University of Kansas Design Laboratory. May.


Compiler Construction Using Scheme - Hilsdale, Ashley, Dybvig, Friedman (1995)   (1 citation)  Self-citation (Ashley)   (Correct)

.... The following compile time topics have been successfully covered in a follow up course: ffl macro expansion [9] ffl destination driven code generation [10] ffl copy propagation and constant folding [1] ffl register allocation [6] and ffl type check elimination by abstract interpretation [16, 4]. With the exception of macro expansion, the compile time topics are about compiler optimizations. To motivate them, an assignment is given early in which the students are told to hand optimize a program that solves the eight queens problem. There is no constraint on the optimizations that may be ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. To appear in Proceedings of the ACM Symposium on Principles of Programming Languages, 1996.


Visualizing the Performance of Higher-Order Programs - Oscar Waddell (1998)   (1 citation)  Self-citation (Ashley)   (Correct)

....languages are often small, aggregate execution time and interprocedural call counts are useful metrics to report to the programmer. Some form of control flow graph is needed in order to compute interprocedural call counts and aggregate execution times. Our tool uses a compile time flow analysis [4] to compute a control flow graph. The graph contains nodes for procedures and call sites. There is Figure 2: Execution frequencies for two runs of the program are compared to suggest areas with non linear time complexity. Note that the iterative function is not colored in this view. an arc from ....

J. Michael Ashley. A practical and flexible flow analysis for higher-order languages. In Proceedings of the 23rd Annual ACM SIGPLAN/SIGACT Symposium on Principles of Programming Languages, pages 184--194, January 1996.


Effective Interprocedural Optimization of Object-Oriented Languages - Grove (1998)   (5 citations)  (Correct)

No context found.

J. Michael Ashley. A Practical and Flexible Flow Analysis for Higher-Order Languages. In Conference Record of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 184--194, January 1996.


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

No context found.

J. Michael Ashley and R. Kent Dybvig. A practical and flexible flow analysis for higher-order languages. ACM 20(4), pages 845--868, July 1988.


Safe Programming at the C Level of Abstraction - Grossman (2003)   (Correct)

No context found.

J. Michael Ashley and R. Kent Dybvig. A practical and flexible flow analysis for higher-order languages. ACM Transactions on Programming Languages and Systems, 20(4):845--868, July 1998.

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