50 citations found. Retrieving documents...
B.G. Ryder and M. C. Paull, Elimination algorithms for data flow analysis, ACM Computing Surveys 18 (1986), no. 3, 277-315.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Symbolic Data Flow Analysis for Detecting - Deadlocks In Ada   (Correct)

....pair (vi,ei) in . A state condition Ci specifies a condition that is valid for a given state i at a certain program point. For all nodes in the CFG, a set of symbolic equations is used to compute program contexts. The equation system is solved by an elimination algorithm for data flow analysis [16]. 3 Symbolic Data Flow Equations for Tasking Programs In previous work [3, 17,4, 1] we have applied symbolic analysis for sequential programs. In order to analyze Ada programs with tasks we need a new form of analysis to cope with these notions of parallelism. To get a handle on the problem a ....

B.G. Ryder and M. C. Paull, Elimination algorithms for data flow analysis, ACM Computing Surveys 18 (1986), no. 3, 277-315.


Symbolic Reaching Definitions Analysis of Ada Programs - Blieberger, Burgstaller (1998)   (1 citation)  (Correct)

....Framework Unfortunately the definition of PrpgtCond( prevents the symbolic evaluation framework from being bounded. Thus it cannot be solved by iteration algorithms (compare [9, 7, 8] Nevertheless we can solve symbolic evaluation frameworks with help of elim ination algorithms (see [11, 10]) Note that the set of equations (i 1, n) Ei: xi = Wi(xi, xi, 1) implies a dependency relation on the variables xi. We say that xi on the left side depends on all variables on the right side. If the corresponding dependency graph is acyclic, set (1) can be solved by simple ....

B.G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277-316, 1986.


On Edge Addition Rewrite Systems and their Relevance to Program.. - Aßmann (1994)   (3 citations)  (Correct)

....solved on each component with fixpoint iteration because the components are cyclic. The global problem however, works on the acyclic condensed graph and may therefore be performed in a single walk over it. 4. If the carrier graph is reducible also interval analysis or other elimination methods [RP86] are applicable. Now we can answer the question why MAY and EQ are different. Because the carrier graph of EQ uses the tree relation on expressions we just apply the rules bottom up during a single traversal of the expression trees. The algorithm halts after one traversal. For MAY this is not ....

B. D. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


Automatic Generation Of Data-Flow Analyzers: A Tool For Building.. - Tjiang (1993)   (5 citations)  (Correct)

....Solving these equations yields the desired data flow information. DFA has been extensively studied in the literature. The properties of DFA problems have been formalized by many authors: Cousot [22] Graham and Wegman [39] Hecht [42, 43] Kam and Ullman [52, 53] Marlowe and Ryder [62] Ryder [76], and Tarjan [83] Efficient algorithms to solve DFA problems have been developed by Choi et al. [19] Graham and Wegman [39] Hecht and Ullman [43] Horwitz et al. [46] Tarjan [82] and Ullman [86] Kildall [54] was the first to recognize that program analysis can serve as a basis for implementing ....

....techniques of Horwitz, Demers, and Teitelbaum [46] However, their techniques require a control flow analysis, more complicated than a simple depth first walk of the graph and similar to that used in elimination algorithms. 2.2. 2 Elimination: Exploiting Flow Graph Structure Elimination methods [3, 39, 76, 82, 86] use the structure of the CFG to solve DFA. They have two chief advantages. First, they can be faster than iteration. The improvement in analysis time depends on how the time spent discovering the program structure (control flow analysis) compares with the time spent evaluating the flow equations. ....

B. G. Ryder and M. C. Paull. "Elimination algorithms for data flow analysis". Comput. Surv. 18, 3 (September 1986), 277-316.


Bidirectional Data Flow Analysis : Myths and Reality - Khedker, Dhamdhere   (Correct)

....method of round robin iterative data flow analysis is used, bidirectional data flow problems may require more iterations than unidirectional data flow problems. 18] provides a bound on the number of iterations for the round robin method of bidirectional data flow analysis. Elimination methods [3, 24, 50, 52, 56] depend upon the structural properties of the control flow graphs. Since the information flow in bidirectional data flow analysis does not follow graph structure, these methods are not directly applicable to bidirectional analysis. However, with the help of the concept of Cyclic Information Flow ....

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18:277--316, 1986.


Yet Another Ensemble of Abstract Interpreter, Higher-Order.. - Yi (2001)   (Correct)

....a tool We agree that with a right cooperation of different techniques might we be able to build a realistic tool. We are currently building a program analysis generator (named Zoo ) that is an ensemble of three frameworks: abstract interpretation[CC77, CC92] conventional data flow analysis[RP86, KU76, KU77] and model checking[CGP99] The Zoo system applies each of the three frameworks to a different phase in analysis specification and generation. A similar combinational methodology has been presented by Schmidt and Steffen[SS98] The main difference of Zoo is in how to build finite ....

....2 data flow equations by referencing the abstract interpreter. The unknowns in the equations are the program s approximate states at each of the program s control points. ffl Then Zoo solves the derived data flow equations. Here, it can use the (iteration or elimination) algorithms[Hec77, RP86, KU76, DGS94, MR90, RP86, Ros80, GW76, Tar76] in the conventional data flow analysis framework. When the equations are higher order 1 , which is when the input program is higher order (functions as first class objects) it uses the iterative fixpoint methods[Jr93, CHY95, Bou93] developed in ....

[Article contains additional citation context not shown here]

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


A Novel Probabilistic Data Flow Framework - Mehofer, Scholz   (1 citation)  (Correct)

....the extreme sparsity of the CFG. For our purpose, we can adapt various elimination methods [16, 1, 17, 8] a good survey Lecture Notes in Computer Science 9 1 1 . 9 10 1 s Equation 1 5 7 6 Fig. 4. Subgraph of Fig. 1 for node 1 annotated with edge probabilities. can be found in [15]) These algorithms are often linear or almost linear in size of the graph. Clearly, the two edge approach can be extended to a three edge, four edge, or k edge approach accordingly resulting in better probabilistic results. However, the time required to solve the system of equations will ....

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--315, September 1986.


Data-Flow Frameworks for Worst-Case Execution Time Analysis - Blieberger (2000)   (Correct)

....provide information about a program or environment without executing the code. A lot of theoretical results on data flow frameworks has been derived (cf. e.g. KU76, KU77] and a large number of algorithms has been developed (cf. e.g. AC76, GW76, HU77, Sre95, SGL98, Tar81a, Tar81b] See [MR90, RP86] for an overview. Worst Case Execution Time (WCET) analysis does not have such a long standing tradition (cf. e.g. CBW96, HS91, ITM90, NP93, Par93, PK89, PS97, Sha89] Designers of real time programming languages usually restrict language features in order to make it possible to guarantee time ....

....are proved in [Pau88] A Gaussian Elimination Type algorithm can be used to solve sets of equations. For data flow analysis the special structure of flow graphs can be exploited to construct algorithms with improved time complexity. For example see [AC76, HU77, Tar81a, GW76, Sre95, SGL98] and [RP86] for an overview of the first four algorithms. For our purposes we use the algorithm of [Sre95, SGL98] Returning to our equations of Definition 3.4, we have to determine how to insert one equation into another, how to simplify our equations, and how to set up a loop breaking rule. We define the ....

Barbara G. Ryder and Marvin C. Paull, Elimination algorithms for data flow analysis, ACM Computing Surveys 18 (1986), no. 3, 277--316. 1, 10


Analysis of Loops - Florian Martin Martin (1998)   (2 citations)  (Correct)

....out of loops. These are special data flow analyses which fit in the classical data flow framework, whereas the proposed technique is a general framework which can be applied to all data flow analyses in order to obtain more precise analysis results. Structure based analyses like interval analysis [7] are orthogonal to the technique presented here. They are used to solve data flow problems efficiently in the presence of loops. They can be used to solve a VIVU problem on the expanded supergraph instead of iterative algorithms. In [9] a property oriented expansion of a program model was ....

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--315, September 1986.


Compiler Support for Machine-Independent Parallelization of.. - von Hanxleden (1994)   (7 citations)  (Correct)

....form nested, strongly connected regions. Allen Cocke intervals include in addition all nodes whose predecessors are all in T (h) i.e. they might include an acyclic structure dangling off the loop. In that sense, Tarjan intervals reflect the loop structure more closely than Allen Cocke intervals [RP86] Note that a node nested in multiple loops is a member of the Tarjan interval of the header of each enclosing loop. Unlike in classical interval analysis, we do not explicitly construct a sequence of graphs in which intervals are recursively collapsed into single nodes. Instead, we operate on ....

B.G. Ryder and M.C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18:77--316, 1986.


The Program Structure Tree: Computing Control Regions in.. - Johnson, Pearson, Pingali (1994)   (33 citations)  (Correct)

....dataflow analysis, a problem in which region solutions must be combined to yield the solution for the entire procedure. 6. 2 Using the PST in data flow analysis Solution techniques for monotone data flow analysis problems are classified into iterative methods and elimination methods [Ken81, RP86] We show discuss how the PST can be used with either class of methods. Exploiting global and local structure: Elimination methods exploit nested program structure to solve data flow equations efficiently. Given some hierarchical decomposition of program structure, analysis is performed in two ....

.... code for dataflow machines from programs in a language like FORTRAN or C since it exposes SESE regions which dataflow edges can potentially bypass [BJP91, BMO90] There is an enormous body of work on elimination and iteration algorithms, and we refer the reader to surveys by Ryder and Paull [RP86] and by Kennedy [Ken81] Tarjan and Valdes use a hierarchical representation of SESE regions of a different kind to do elimination [Val78, TV80] Sparsity was highlighted by Choi,Cytron, and Ferrante [CCF91] and by Dhamdhere, Rosen, and Zadeck [DRZ92] Choi et al. extend the SSA form to build ....

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


Data-Flow Frameworks for Worst-Case Execution Time Analysis - Blieberger (2000)   (Correct)

.... (cf. e.g. Kam and Ullman, 1976; Kam and Ullman, 1977) and a large number of algorithms has been developed (cf. e.g. Allen and Cocke, 1976; Graham and Wegman, 1976; Hecht and Ullman, 1977; Sreedhar, 1995; Sreedhar et al. 1998; Tarjan, 1981a; Tarjan, 1981b) See (Marlowe and Ryder, 1990; Ryder and Paull, 1986) for an overview. Worst Case Execution Time (WCET) analysis does not have such a long standing tradition (cf. e.g. Chapman et al. 1996; Halang and Stoyenko, 1991; Ishikawa et al. 1990; Nirkhe and Pugh, 1993; Park, 1993; Puschner and Koza, 1989; Puschner and Schedl, 1997; Shaw, 1989) ....

....sets of equations. For data flow analysis the special structure of flow graphs can be exploited to construct algorithms with improved time complexity. For example see (Allen and Cocke, 1976; Hecht and Ullman, 1977; Tarjan, 1981a; Graham and Wegman, 1976; Sreedhar, 1995; Sreedhar et al. 1998) and (Ryder and Paull, 1986) for an overview of the first four algorithms. For our purposes we use the algorithm of (Sreedhar, 1995; Sreedhar et al. 1998) Returning to our equations of Definition 5, we have to determine how to insert one equation into another, how to simplify our equations, and how to set up a ....

Ryder, B. G. and M. C. Paull: 1986, `Elimination Algorithms for Data Flow Analysis'. ACM Computing Surveys 18(3), 277--316.


Symbolic Data Flow Analysis for Detecting Deadlocks.. - Blieberger.. (2000)   (5 citations)  (Correct)

....i ; e i ) in S. A state condition C i specifies a condition that is valid for a given state S i at a certain program point. For all nodes in the CFG, a set of symbolic equations is used to compute program contexts. The equation system is solved by an elimination algorithm for data flow analysis [16]. Symbolic Deadlock Detection in Ada Tasking Programs 3 3 Symbolic Data Flow Equations for Tasking Programs In previous work [3, 17, 4, 1] we have applied symbolic analysis for sequential programs. In order to analyze Ada programs with tasks we need a new form of analysis to cope with these ....

B. G. Ryder and M. C. Paull, Elimination algorithms for data flow analysis, ACM Computing Surveys 18 (1986), no. 3, 277--315.


Refactoring Object-Oriented Frameworks - Opdyke (1992)   (124 citations)  (Correct)

....flow graphs and generic data flow equations such as described in [44] Two common approaches for solving data flow problems are iterative and structured approaches [44] Iterative approaches [56, 118] repeatedly traverse the flow graphs until there are no more changes. Structured solutions (e.g. [7, 67, 107]) are more complex, but have much better worse case performance. 7.4 Checking Whether a Predicate is a Class Invariant In general, the problem of determining whether an arbitrary predicate is a class invariant is undecidable. The approach taken here is to restrict the language of class ....

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):231--276, September 1986.


Path-Sensitive Value-Flow Optimizations - Bodík (1998)   (Correct)

....large program scope, such as in inter procedural analysis, or when the analysis flow functions are expensive, such as in frequency analysis based on floating point computations. To support a demand frequency analysis, this step will develop a data flow framework operating in the elimination style [RP86] To further reduce the analysis cost, this work will investigate two flavors of early termination in demand analysis. First, the analysis will be terminated when the yet undiscovered optimization opportunities would be prohibitively expensive to exploit due to incurred code growth costs. ....

....analysis frameworks are built on iterative approaches, they only permit lattices of finite size [DGS97] or finite height [HRS95, SRH96] and hence cannot derive a frequency analyzer. This limitation is overcome by designing the demand driven analyzer based upon elimination data flow methods [RP86] whose time complexity is independent of the lattice shape. The developed demand driven analysis framework is motivated by the Allen Cocke interval elimination solver [AC76] Next, using the framework, a demand driven algorithm for general frequency data flow analysis was derived. Here, the ....

[Article contains additional citation context not shown here]

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


Space-Efficient Closure Representations - Shao, Appel (1994)   (40 citations)  (Correct)

....graph G of E essentially captures a very simple set 5 of control flow information in E. Cycles in the graph imply loops or recursions (e.g. the path from h to J to Q) The nested hierarchies of loops and recursions in E can be revealed by running the Tarjan interval analysis 6 algorithm [34, 31] on G, assuming G is a reducible flow graph. For the purpose of our closure analysis, this control flow information can be used to choose closure representations that allow more efficient variable accesses in frequently executed program fragments (e.g. loops) For every function definition v in ....

....use the true free variables to denote the 5 Shivers [32] presented more sophisticated techniques that can find even better approximations of control flow information. 6 Given a flow graph G, a Tarjan interval is essentially a singleentry, strongly connected subgraph of G; the interval analysis [31] partitions the set of nodes in G into disjoint intervals, with each interval representing a proper loop (or recursion) layer. Function Stage Number Raw Free Variables Closure Strategy iter 1 ; 1 slot h 2 f(p; 2; 2) C; 3; 3) f; 3; 3) h; 4; 4)g 2 slots J 3 f(C; 3; 3) f; 3; 3) a; 3; ....

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


Making Graphs Reducible with Controlled Node Splitting - Janssen, Corporaal (1997)   (4 citations)  (Correct)

....benefits of memory disambiguation, irreducible control flow graphs should be converted to reducible control flow graphs as well. Another pleasant property of reducible control flow graphs is the fact that data flow analysis, that is an essential part of any compiler, can be done more efficiently [3]. Related work: The problem of converting irreducible flow graphs to reducible flow graphs can be tackled at the front end or at the back end of the compiler. In [4] and [5] methods for normalizing the control flow graph of a program at the front end are given. These methods rewrite an ....

....are called irreducible loops. To remove irreducible loops, they must be s a b Figure 2: The basic irreducible control flow graph. detected first. There are several methods for doing this. One of them is to use interval analysis [10, 11] The method used here is the Hecht Ullman T1 T2 analysis [12, 3]. This method is based on two transformations T1 and T2. These transformations are illustrated in figure 3 and are defined as: Definition 2.3 Let G = N; E; s) be a control flow graph and let u 2 N . The T1 transformation removes the edge (u; u) 2 E, which is a self loop, if this edge exists. The ....

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


Efficient Computation of Fixpoints that Arise in.. - Chen..   (1 citation)  (Correct)

....propagating a new poststate along a back edge first, if any, until the loop is stable. The resulting sequence of this example will be (n 1 ; n b ; n 1 ; n b ; n k ; n 0 ] The idea is similar to the loop first strategy which is commonly used in dataflow analysis [38]. 5.2 Guided Entailment Algorithm In this section, we will propose a model for efficiently computing the least fixpoint of a semantic functional F : X Y ) X Y ) in which the relationship of elements of X is not given a priori. The aforementioned strategies are embedded in the model. ....

B. G. Ryder and M. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--315, 1986.


Syntax-Directed Construction of Program Dependence Graphs - Harrold, Rothermel (1996)   (Correct)

....as the union of the OUT sets of its control flow predecessors. If N is a statement node, IN[N] is the union of the OUT sets of its control flow predecessors, and OUT[N] is synthesized using IN[N] GEN[N] and KILL[N] When programs are structured, elimination algorithms based on interval analysis [39, 43] can be adapted to use the CDS instead of the control flow graph [6] In these cases, the control flow graph is not required in the analysis. However, if the program is highly unstructured or irreducible, these elimination algorithms may produce incorrect data flow information, and thus, these ....

B. G. Ryder and M. C. Paull, "Elimination algorithms for data flow analysis," ACM Computing Surveys, vol. 18, no. 3, pp. 277--316, September 1986.


Controlled Node Splitting - Janssen, Corporaal (1996)   (4 citations)  (Correct)

....benefits of memory disambiguation, irreducible control flow graphs should be converted to reducible control flow graphs as well. Another pleasant property of reducible control flow graphs is the fact that data flow analysis, that is an essential part of any compiler, can be done more efficiently [3]. Related work: The problem of converting irreducible flow graphs to reducible flow graphs can be tackled at the frontend or at the back end of the compiler. In [4] and [5] methods for normalizing the control flow graph of a program at the front end are given. These methods rewrite an intermediate ....

....graph G = N; FE; s) contains at least one loop. These loops are called irreducible loops. To remove irreducible loops, they must be detected first. There are several methods for doing this. One of them is to use interval analysis [10, 11] The method used here is the HechtUllman T1 T2 analysis [12, 3]. This method is based on two transformations T1 and T2. These transformations are illustrated in figure 3 and are defined as: Definition 2.3 Let G = N; E; s) be a control flow graph and let u 2 N . The T1 transformation removes the edge (u; u) 2 E, which is a self loop, if this edge exists. ....

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277-- 316, September 1986.


A Position Paper on Compile-time Program Analysis - Ryder (1996)   (1 citation)  Self-citation (Ryder)   (Correct)

....and understandable set of terms to be used across the discipline, so that relations between analysis approaches are better understood. This requires us to accept as research contributions, efforts to show common elements in various analyses, to unify their nomenclature, and to compare effectiveness[Ryder and Paull 1986; Marlowe and Ryder 1990; Burke and Ryder 1990] Even within communities, there are often multiple meanings for the same term, such as flow sensitivity[Marlowe et al. 1995] It is most important, for example, to have both the abstract interpretation [Cousot and Cousot 1977] and data flow analysis ....

Ryder, B. G. and Paull, M. C. 1986. Elimination algorithms for data flow analysis. ACM Computing Surveys 18, 3 (September), 277--316.


A Comprehensive Approach to Parallel Data Flow Analysis - Lee, Ryder (1992)   (1 citation)  Self-citation (Ryder)   (Correct)

....j is an element of L [Hec77, MR91] Intuitively, L is a lattice of data flow solutions, M the assignment of transition functions to nodes or edges, and j the entry solution at ae; F is usually not represented explicitly. Often M can be thought of as specifying a system of jN j or jEj equations [RP86] 2.2.1 Program Representation A program consists of one or more procedures; it is specified by a pair, Q = S; A 1 ) where S is a set of procedures fA 1 ; A 2 ; A b g, and A 1 is the main procedure. Data flow analysis algorithms use a directed graph representation of the program. In ....

....get the maximum fixed point for the equations [Hec77] Although iterative algorithms do not rely on the flow graph being reducible, they are normally not as efficient as elimination or hybrid algorithms. An elimination algorithm has two phases and is conceptually similar to Gaussian elimination [RP86] Most elimination algorithms require the flow graph to be reducible. 5 In the elimination phase, the flow graph is partitioned into intervals (or regions) data flow information local to an interval is summarized, and an interval is condensed into a node. The process continues until there is ....

Barbara G. Ryder and Marvin C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.


Incremental Analysis of MOD Problem for C - Yur, Ryder (1995)   Self-citation (Ryder)   (Correct)

No context found.

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Survey, vol. 18, no. 3, pages 277-316, September 1986.


Defining Flow Sensitivity in Data Flow Problems - Marlowe, Ryder, Burke (1995)   (5 citations)  Self-citation (Ryder)   (Correct)

....flow graph [ASU86] or call multigraph [Hec77] with root at ae, L a lattice of data flow solutions, M the assignment of transition functions to edges, and j the entry solution at ae; F is usually not represented explicitly. Often M can be thought of as specifying a system of j V j equations [RP86] In forward data flow problems, information flows in the direction of flow graph edges; in backward problems, information flows in the opposite direction. The definitions and examples in this paper are, without loss of generality, mostly in terms of forward data flow problems. The form of a ....

.... forward data flow problem is S(X) Y;X)2E f (Y;X) S(Y ) where S(ae) j) The equation is linear if there are constants A (Y;X) and B (Y;X) so that f (Y;X) S(Y ) A (Y;X) Omega S(Y ) Phi B (Y;X) for associative operations Phi and Omega with appropriate algebraic properties [RP86] For monotone problems, solution techniques find the maximum (or minimum) fixed point (MFP) for distributive problems, this will also be the meet over all paths (MOP) solution. A data flow framework is k bounded if, intuitively, fixed point iteration requires k 1 iterations around a cycle to ....

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. Computing Surveys, 18(3):277--316, September 1986.


Lattice Frameworks for Multisource and Bidirectional Data Flow.. - Masticola (1995)   (16 citations)  Self-citation (Ryder)   (Correct)

No context found.

B. G. Ryder and M. C. Paull. Elimination algorithms for data flow analysis. ACM Computing Surveys, 18(3):277--316, September 1986.

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