93 citations found. Retrieving documents...
J. B. Kam and J. D. Ullman. Global data flow analysis and iterative algorithms. Journal ACM, 23(1), 1976, pages 158--171.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

From Trace Sets to Modal-Transition Systems by Stepwise Abstract.. - Schmidt (2001)   (1 citation)  (Correct)

....of the two fixed point forms 32 can be calculated as S 0 = S 0 = Sigma meaning that the traditional iterative technique calculates the state sets that satisfy the fixed points. This iterative approach resembles the one taken by iterative data flow analysis [9,23,26], and an overt connection will be made later in the paper [39,41,43,44] When OE contains alternating fixed points, a tableau method [34,46] can be used to decide specific goals of form, a j= OE. 5.3 Soundness and completeness of universal state checking Because the universal trace ....

....(that is, linear time) properties but are implemented as iterative, maximal fixed point (branching time) state checking algorithms. When an analysis problem is distributive, then the meet over allpaths semantics equals the maximal fixed point semantics (the state checking semantics is complete) [26]. We present one well told example of an existential data flow property: livevariables analysis [1,12,39] Given a sequential program, a variable, x, is live at a program point, p, if some trace proceeding from p references x s value before overwriting it. A compiler can use the results of ....

[Article contains additional citation context not shown here]

J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. J. ACM, 23:158--171, 1976.


Effective Compile-Time Analysis for Data Prefetching in Java - Cahoon (2002)   (Correct)

....do not affect the correctness of programs. We use data flow analysis to discover prefetch opportunities. In the following section, we describe the foundations of data flow analysis. 2. 3 Data Flow Analysis A data flow framework provides a generic mechanism for specifying a program analysis [58, 55]. Data flow analysis is a pervasive program analysis technique in many compilers. In this section, we discuss the fundamentals behind data flow analysis. We separately define data flow analysis for use within a procedure and for a whole program. Nielson et al. present an excellent discussion of ....

....2 ) Otherwise, t 1 t t 2 = ft 1 , t 2 g. Given our ordering of the elements rs 2 RS, rs t nr = rs, pr t pr = pr, and rs t r = r. 41 An iterative data flow solving algorithm takes d 3 iterations to solve our data flow equations, where d is the loop connectiveness of the control flow graph [55]. We define the GEN RA and KILL RA functions as follows: KILL RA : S R R At the initial statement, init(S) we initialize the function RA in to f(v; 0; 0;nr)jv 2Vg The interesting program statements for the analysis include field loads and assignments. We describe the details of our ....

[Article contains additional citation context not shown here]

John B. Kam and Jeffrey D. Ullman. Global data flow analysis and iterative algorithms. Journal of the Association for Computing Machinery, 23(1):158--171, January 1976.


Frameworks For Precise Program Analysis - Murphy (2001)   (Correct)

....in the SUIF system is both flow and context sensitive. To manage the software engineering complexity of building interprocedural ver sions of the suite of analyses required for parallelization, we utilize a common frame work, analogous to a traditional data flow analysis framework [70]. The common framework, a significant extension of the FIAT [52] system, facilitates implementa tion of interprocedural data flow analyses by providing parameterized templates for solving data flow problems. Each analysis problem is implemented by instantiating the templates with functions to ....

....required to keep the number of clones from getting too big and making the analysis impractically slow or memory intensive. 2.2. 2 Background on Data Flow Analysis Our interprocedural data flow analysis framework draws from previous work on single procedure, global data flow analysis frameworks [70], flow insensitive interprocedural analysis [8, 27] and interval analysis [3] which we summarize here. Comprehen sive descriptions of global and interprocedural data flow analysis can be found else where [80, 26] Included in this description are the program representations used by analysis. ....

[Article contains additional citation context not shown here]

J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):159 171, January 1976.


Operator Strength Reduction - Cooper, Simpson, Vick (1995)   (3 citations)  (Correct)

....The test performed in ClassifyIV is simple and efficient. It is very similar to the process found in ack, but using ssa lets it examine fewer variables and fewer instructions. The first step is to identify the header block for the scc the block with the smallest reverse postorder (rpo) number [30]. The header gives us an efficient way to identify region constants with respect to this scc: a region constant must either be a compile time constant or its definition must strictly dominate the header block. The function RegionConst in Figure 7 implements this test. The next step is to check ....

J. B. Kam and J. D. Ullman. Global data flow analysis and iterative algorithms. J. ACM, 23(1):158--171, Jan. 1976.


An Efficient Static Analysis Algorithm to Detect Redundant.. - Cooper, Xu (2002)   (4 citations)  (Correct)

....value table and the operation table. Let N be the total number of operations, M be the total number of ssa names in the function, #M (0# # 1) be the number of memoryobjectssa names accessed by the function (same as M def of FRAME) and D(G)betheloopconnectedness of the control flow graph G [19]. We assume that hashing requires constant time, an assumption justified by our experience with the implementation. Simpson showed that the time complexity attributable to building the ssa value table is O(M D(G) The time attributable to building the operation table can be bounded by ....

John B. Kam and Je#rey D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, January 1976.


A Simple, Fast Dominance Algorithm - Cooper, Harvey, Kennedy (2001)   (1 citation)  (Correct)

....from the intersection. Both Allen and Cocke[5] and Hecht [18, pp. 179 180] show similar formulations. Properties of the Iterative Framework This algorithm produces correct results because the equations for Dom,asshownabove, form a distributive data flowframework as defined by Kam and Ullman [20]. Thus, we know that the iterative algorithm will discover the maximal fixed point solution and halt. Since the framework is distributive, we know that the maximal fixed point solution is identical to the meet over all paths solution which matches the definition of Dom. # 5 # 4 # 3 # ## ....

....matches the definition of Dom. # 5 # 4 # 3 # ## # # ## # # # Dom[b] Node First Pass Second Pass Third Pass 5 5 5 3, 2 Figure 2. Computing Dominators on an Irreducible Graph The equations for Dom are simple enough that they form a rapid framework [20]. Thus, an iterative algorithm that traverses the graph in reverse postorder will halt in no more than d(G) 3 passes, where d(G)istheloopconnectedness of the graph. For a reducible graph, d(G) is independent of the depth first spanning tree used to generate the postorder numbering. With an ....

J. B. Kam and J. D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, Jan. 1976.


The Static Single Information Form - Ananian (1999)   (1 citation)  (Correct)

....highly efficient liveness analysis, obtaining the liveness information from the original program can be problematic. The fastest sparse algorithm has stated time bounds of O(E N ) 7] which is likely to be more expensive than the rest of the SSI form conversion. Luckily, Kam and Ullman [21], in conjunction with an empirical study by Knuth [23] show that liveness analysis is highly likely to be linear for reducible flow graphs. In our work this question is avoided, as we obtain our liveness information directly from properties of the Java bytecode files that are our input to the ....

J. B. Kam and J. D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 21(3):158--171, Jan. 1976. 91


Combining Analyses, Combining Optimizations - Click, Jr. (1995)   (1 citation)  (Correct)

....are limited by their local view of the code. A stronger method involves global analysis, in which the compiler first inspects the entire program before making changes. A common global analysis is called data flow analysis, in which the compiler studies the flow of data around a program [12, 29, 30, 31, 45, 1]. The first data flow analyses carried bit vectors to every part of the program, modified the bits, and moved them on to the next section. Bit vector data flow analyses require several passes over the program to encode the facts they are discovering in the bits. Since different analyses give ....

J. B. Kam and J. D. Ullman. Global data-flow analysis and iterative algorithms. Journal of the ACM, 23(1):158-171, January 1976.


Software Methodologies for VHDL Code Static Analysis.. - Baresi, Bolchini, Sciuto (1996)   (1 citation)  (Correct)

....the communication among processes focusing the attention on the problem of possible deadlocks, let us now take into account the sequential programming language aspects of VHDL. A variety of different methods have been successfully proposed and applied for analyzing sequential software programs [9]. This section aims at concentrating on static analysis techniques, that, even if not as powerful as dynamic analysis, offer valuable results and are easier to apply. All the techniques presented in the next sections are based on appropriate annotations on the nodes of a graph. As already done in ....

....dynamic analysis, offer valuable results and are easier to apply. All the techniques presented in the next sections are based on appropriate annotations on the nodes of a graph. As already done in Section 2, VHDL code is translated into a graph like representation, called flow graph.Aflow graph [9], basically a directed graph, is composed of nodes, representing program statements , and edges, defining execution flow. Notice that, for readers familiar with the LEDA tool [10] the representation proposed here is very similar to the graphs built by the tool. The obtained graph is then ....

J. Kam and J. Ullman. Global Data Flow Analysis and Iterative Algorithms. Journal of the ACM, 23:158--171, 1976.


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

....into equations over some abstract domain. 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 ....

J. B. Kam and J. D. Ullman. "Global data flow analysis and iterative algorithms". J. ACM 23, 1 (January 1976), 158-171. Bibliography 127


Using Types to Analyze and Optimize Object-Oriented Programs - McKINLEY, MOSS (2001)   (6 citations)  (Correct)

....one invocation of THA; THA is invoked on demand. These algorithms are simple and therefore fast, as shown in the Complexity column. THA achieves it low time bound because it only examines types and method declarations. TPA achieves its time bound because it is distributive, and furthermore rapid [Kam and Ullman 1976]. It has the same complexity as reaching definitions for reducible programs; Modula 3 programs are always reducible. TPA stores the possible types of a variable as a set, enabling set union and intersection operations on bit vectors. The length of the bit vectors equals the number of object types ....

KAM, J. B. AND ULLMAN, J. D. 1976. Global data flow analysis and iterative algorithms. Journal of the ACM 7, 3, 305--318.


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

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

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

[Article contains additional citation context not shown here]

John B. Kam and Jeffrey D. Ullman. Global data flow analysis and iterative algorithm. Journal of the ACM, 23(1):158--171, 1976.


Analysis of Multithreaded Programs - Rinard (2001)   (13 citations)  (Correct)

....multithreaded programs. We focus on ways to improve the efficiency of analyzing interactions between different threads. 3. 1 Dataflow Analysis For Multithreaded Programs Dataflow analysis performs an abstract interpretation of the program to discover program invariants at each program point [55, 54, 26]. Conceptually, one can view these analyses as propagating information along control flow paths, an approach that works reasonably well for sequential programs in part because each statement typically has few direct control flow successors. The straightforward generalization of this approach to ....

J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):159--171, Jan. 1976.


On Guarding Nested Fixpoints - Seidl, Neumann (1999)   (Correct)

....by an appropriate unrolling. The structure of variable dependences, however, is not taken into account. Therefore, we prefer to replace lock step iteration with a Round Robin strategy. For (intra procedural) data flow analysis, such an approach has been considered, e.g. by Kam and Ullman [12]. The (variable) dependence graph of the set of equations S is the directed graph G = X ; E) where E consists of all edges (x 1 ; x 2 ) where variable x 1 occurs in the right hand side of variable x 2 . A set B of edges of G is called set of back edges if G without edges from B is a dag. The ....

....Claim: Assume j 1. After round j, the value of x i is an upper bound for [ I ] whenever I 2 I i is cycle free and has at most j Gamma 1 back edges on every path from a leaf to the root. ut In presence of distributivity, our prop. 6 can be seen as a generalization of Kam and Ullman s result [12] to more general forms of systems of equations. Let us apply prop. 6 to hierarchical systems with Sigma = We propose an iteration strategy which for alternation depth r consists in r nested for loops. Each iteration of the outermost loop first evaluates the variables from block r; then it ....

J.B. Kam and J.D. Ullman. Global Data Flow Analysis and Iterative Algorithms. J. of the Association for Computing Machinary (JACM), 23(1):158--171, 1976.


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

....used to solve problems in verification, debugging, testing, parallelization, vectorization and parallel programming environments. They 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, ....

John B. Kam and Je#rey D. Ullman, Global data flow analysis and iterative algorithms, J. ACM 23 (1976), no. 1, 158--171. 1


Modal Transition Systems: A Foundation for Three-Valued.. - Huth, Jagadeesan.. (2000)   (14 citations)  (Correct)

....next Fig. 5. Transfer functions on shape graphs as predicate logic formulas, where logical connectives have their interpretations in Kleene s logic (e.g. conjunction is meet; disjunction is join; negation is strict complement) At this point, a data flow analysis can be assembled in the usual way [8, 14, 20, 30, 31]: 1. a control flow graph is extracted from the source program, where transfer functions annotate the arcs of the graph; 2. a finite height sup semilattice of data flow values (here, based on shape graphs) is defined, where values from the semilattice will be collected at the nodes (program ....

J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. J. ACM, 23:158--171, 1976.


A Survey of Sequential and Systolic Algorithms for the Algebraic.. - Fink (1992)   (4 citations)  (Correct)

No context found.

J. B. Kam and J. D. Ullman. Global data flow analysis and iterative algorithms. Journal ACM, 23(1), 1976, pages 158--171.


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

No context found.

John B. Kam and Jeffrey D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, January 1976.


L. Taylor Simpson - Lts Cs Rice   (Correct)

No context found.

John B. Kam and Jeffrey D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, January 1976.


Type Qualifiers: Lightweight Specifications to Improve Software.. - Foster (2002)   (6 citations)  (Correct)

No context found.

John B. Kam and Je#rey D. Ullman. Global Data Flow Analysis and Iterative Algorithms. Journal of the ACM, 23(1):158--171, January 1976.


Analysis of Multithreaded Programs - Rinard (2001)   (13 citations)  (Correct)

No context found.

J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):159--171, Jan. 1976.


A Class of Polynomially Solvable Range Constraints for Interval .. - Su, Wagner   (Correct)

No context found.

J.B. Kam and J.D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, January 1976.


Static Checking of Dynamically Generated Queries in.. - Gould, Su, Devanbu (2004)   (5 citations)  (Correct)

No context found.

J. Kam and J. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, Jan. 1976.


Semantics-based Program Analysis via Symbolic Composition of.. - Colby (1996)   (Correct)

No context found.

J. B. Kam and Jeffrey D. Ullman. Global data flow analysis and iterative algorithms. Journal of the ACM, 23(1):158--171, 1976. (p 3)


Practical Improvements to the Construction and.. - Briggs, Cooper.. (1998)   (14 citations)  (Correct)

No context found.

John B. Kam and Je#rey D. Ullman, `Global data flow analysis and iterative algorithms', Journal of the ACM, 23(1), 158--171 (1976).

First 50 documents  Next 50

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