## A new framework for exhaustive and incremental data flow analysis using DJ graphs (1995)

Venue: | ACM SIGPLAN CONF. ON PLDI |

Citations: | 11 - 0 self |

### BibTeX

@INPROCEEDINGS{Sreedhar95anew,

author = {Vugranam C. Sreedhar and Guang R. Gao and Yong-fong Lee},

title = {A new framework for exhaustive and incremental data flow analysis using DJ graphs},

booktitle = {ACM SIGPLAN CONF. ON PLDI},

year = {1995},

pages = {278--290},

publisher = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

In this paper we propose a new framework for elimination-based exhaustive and incremental data flow analysis using DJ graphs. In this paper we give an overview of our framework. The details can be found in our two long reports [SGL95a, SG95a]. These two reports are available from our WWW URL http://www-acaps.cs.mcgill.ca/~sreedhar/pubs.html OR http://www-acaps.cs.mcgill.ca/doc/memos.html

### Citations

308 | A unified approach to global program optimization - Kildall - 1973 |

277 |
Flow Analysis of Computer Programs
- Hecht
- 1977
(Show Context)
Citation Context ...licable only to reducible flow graphs. They mainly use two approaches to handle irreducible flow graphs. One is node splitting, which generates an "equivalent," reducible flowgraph by splitt=-=ing nodes [Hec77]-=-. The other approach is to form improper regions to accommodate irreducibility and use fixed-point iteration in those regions [Bur90]. We take the second approach but utilize the strength of eliminati... |

124 | Global data flow analysis and iterative algorithms - Kam, Ullman - 1976 |

109 |
Leeuwen. Worst-case analysis of set union algorithms
- Tarjan, van
(Show Context)
Citation Context ...on is O(jEj \Theta jN j). The worst case time complexity of delayed elimination is O(jEj \Theta log jN j). This can be established by using the results due to Lucas [Luc90] and Tarjan and van Leeuwen =-=[TvL84]-=-. Although both our exhaustive elimination methods are theoretically worse than linear, they can behave as if they were linear in practice. This is evidenced by our empirical results. Furthermore, we ... |

100 | A program data flow analysis procedure - Allen, Cocke - 1976 |

90 |
Fast algorithms for solving path problems
- Tarjan
- 1981
(Show Context)
Citation Context ...re of an interval in order to summarize local data flow information for monotone problems. In our approach, we similarly define a closure operation for a recursive data flow equation. In Section 5 of =-=[Tar81]-=-, Tarjan defines a derived graph G 0 of a flow graph G in order to solve path problems on both reducible and irreducible graphs. Using our terms, we observe that all the D edges in G also appear in G ... |

81 |
An Interval-Based Approach to Exhaustive and Incremental Interprocedural Data-Flow Analysis
- Burke
- 1990
(Show Context)
Citation Context ... generates an "equivalent," reducible flowgraph by splitting nodes [Hec77]. The other approach is to form improper regions to accommodate irreducibility and use fixed-point iteration in thos=-=e regions [Bur90]-=-. We take the second approach but utilize the strength of elimination methods within the reducible portions of an improper region. Consequently, fixedpoint iteration is performed on a normally much sm... |

81 | Incremental context-dependent analysis for language-based editors - Reps, Teitelbaum, et al. - 1983 |

80 | Testing flow graph reducibility - Tarjan - 1973 |

75 |
A fast and usually linear algorithm for global flow analysis
- Graham, Wegman
- 1976
(Show Context)
Citation Context ...r in theory, we observed their execution performance to be linear in practice (see Section 5). They are conceptually simple and do not require a `parse' [HU72, Ull73, Tar74, Tar81] or `S-set finding' =-=[GW76]-=- to guide the graph reduction and variable elimination. We simply perform the elimination phase, removing J edges and variables, in a bottom-up manner on the DJ graph. In delayed elimination, we use a... |

53 | Elimination algorithms for data flow analysis
- Ryder, Paull
- 1986
(Show Context)
Citation Context ...: : : : : : : : : : : : : : : : 21 2 Timings and speedups : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22 ii 1 Introduction Traditional elimination methods consist of three steps =-=[RP86]-=-: (1) reducing the flowgraph to a single node, (2) eliminating variables in the data flow equations by substitution, and (3) once the solution to the single node is determined, propagating the solutio... |

48 |
An efficient hybrid algorithm for incremental data flow analysis
- Marlowe, Ryder
(Show Context)
Citation Context ...tural changes (to flowgraphs) that do not change the depth-first spanning tree of the flowgraph. Marlowe and Ryder propose an incremental hybrid method that combines iterative and elimination methods =-=[MR90]-=-. They first identify the strongly connected components in the flowgraph. Then they use fixed-point iteration within each component and propagate data flow information among components using an elimin... |

30 | An efficient representation for sparse sets
- Briggs, Torczon
- 1993
(Show Context)
Citation Context ...e method that uses reverse post order for iteration. Our implementation was built upon the Parafrase2 compiler. For efficient set manipulation, we implemented the Briggs-Torczon sparse sets technique =-=[BT93]-=-. We used as test data a set of 40 FORTRAN procedures taken from SPEC92, RiCEPS, LAPACK, and GATOR. We carried out our experiments on a SPARC-20 workstation. Details of our experiments can be found in... |

30 | Flow graph reducibility - Hecht, Ullman - 1972 |

26 | Optimal-time incremental semantic analysis for syntax-directed editors - REPS |

20 | Qualified dataflow analysis - Holley, Rosen - 1980 |

19 | A linear time algorithm for placing OEnodes - Sreedhar, Gao - 1995 |

18 | Fast algorithms for the elimination of common subexpressions - ULLMAN - 1973 |

13 | Incremental computation of dominator trees
- SREEDHAR, GAO, et al.
- 1997
(Show Context)
Citation Context ...tes y and x:level = z:level. Figure 4 gives a DJ graph, in which every J edge is annotated with its top node ! x ?. Given a DJ graph, we can easily compute the top nodes of all J edges in linear time =-=[SGL95b]-=-. An interesting point to note is that the destination node 9 of edges 7 ! 9, 6 ! 9, and 3 ! 9 is in the dominance frontiers of the source nodes 7, 6, and 3. We thus use the term dominance frontier in... |

12 | Data Flow Analysis and Incremental Iteration - Marlowe - 1989 |

11 |
Incremental data flow update via attribute and dominator updates
- Carroll, Ryder
(Show Context)
Citation Context ...e frontier relation in response to an edge being newly inserted into the flowgraph. Recall that a node w 2 DomAffected(y) will move up in the dominator tree after an edge is inserted in the flowgraph =-=[CR88]-=-. When this happens, the dominance frontier of a node that dominates node w or x prior to the update will possibly be affected. Now let z = nca(x; y), and let DFAffectedI(y) = fujz stdom u and u domin... |

9 |
Postorder disjoint set union is linear
- Lucas
- 1990
(Show Context)
Citation Context ... time complexity of eager elimination is O(jEj \Theta jN j). The worst case time complexity of delayed elimination is O(jEj \Theta log jN j). This can be established by using the results due to Lucas =-=[Luc90]-=- and Tarjan and van Leeuwen [TvL84]. Although both our exhaustive elimination methods are theoretically worse than linear, they can behave as if they were linear in practice. This is evidenced by our ... |

7 | Linear cost is sometimes quadratic - Rosen |

3 | Efficient data flow analysis using DJ graphs: Elimination methods revisited
- Sreedhar, Gao, et al.
- 1995
(Show Context)
Citation Context ...limination depends on the correctness of DJ graph reduction, variable elimination, and top-down propagation. Here we provide several lemmas and a theorem to establish this. All proofs can be found in =-=[SGL95a]-=-. Our first lemma states that, for a reducible DJ graph, there must exist a non-join node at a level whose nodes are being processed by procedure ReduceLevel(). Lemma 2.1 Let G be a DJ graph, and let ... |

3 | Efficient Program Analyses Using DJ Graphs - Sreedhar - 1995 |

2 | An elimination-based approach to incremental data flow analysis
- Sreedhar, Gao
- 1995
(Show Context)
Citation Context ...hion. 4.4 Correctness and Complexity The worst case time complexity of our incremental analysis is O(jEj \Theta jN j). The proofs of the complexity and the correctness of MainIncDFA() can be found in =-=[SG95a]-=-. 5 Experiments and Empirical Results We have implemented our eager and delayed elimination methods for solving the intraprocedural reaching definitions problem. For comparison, we also implemented th... |