## Iterative-Free Program Analysis (2003)

### Cached

### Download Links

- [www.ipl.t.u-tokyo.ac.jp]
- [www.sic.shibaura-it.ac.jp]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. of Intl. Conference on Functional Programming |

Citations: | 2 - 1 self |

### BibTeX

@INPROCEEDINGS{Ogawa03iterative-freeprogram,

author = {Mizuhito Ogawa and Zhenjiang Hu and Isao Sasano},

title = {Iterative-Free Program Analysis},

booktitle = {In Proc. of Intl. Conference on Functional Programming},

year = {2003},

pages = {111--123},

publisher = {ACM Press}

}

### OpenURL

### Abstract

flow analyses are reduced to the problem of finding a fixed point in a certain transition system, and such fixed point is commonly computed through an iterative procedure that repeats tracing until convergence.

### Citations

416 |
Register allocation and spilling via graph coloring
- Chaitin
- 2004
(Show Context)
Citation Context ... are pre-computed. Note that we restrict ourselves to control flow graphs with bounded tree width, and do not intend P = NP, where the conventional optimal register allocation based on graph coloring =-=[10]-=- is NP-complete. For simplicity, we consider a flowchart programs (without GOTO) as in Section 2. We assume that functions defv l, usev l, and live variables at terminal labeled l are pre-computed (as... |

241 |
Graph Rewriting: An Algebraic and Logic Approach
- Courcelle
- 1990
(Show Context)
Citation Context ... the existence of strong side conditions limits the chance to optimize. Instead, we restrict ourselves to graphs with bounded tree width, in which many NPhard graph problems are solved in linear-time =-=[11, 9]. -=-The concept of a graph with bounded tree width [25] independently appeared from early 80’s; partial k-tree in terms of cliques, some algebraic construction of k-terminal graphs [4, 3], and in terms ... |

187 |
A linear-time algorithm for finding treedecompositions of small treewidth
- Bodlaender
- 1996
(Show Context)
Citation Context ...erminals with G = ˜G by neglecting terminals. In general, deciding the tree width of a graph is NP-complete; however, for fixed k, whether a graph has tree width at most k is decidable in linear time=-= [7, 24]-=-. Fortunately, we already know the upper bound of the tree width of control flow graphs of some specific programming languages. This shows the general method to compute an SP Term from a control flow ... |

85 |
Control flow analysis
- Allen
- 1970
(Show Context)
Citation Context ...cations [22]. The combination with such methods would be worth exploring. We should mention another classical efficient solution under certain restriction of control flow graphs: reducible flow graph =-=[2, 1]-=-. If a program has a reducible control flow graph, one can construct n (log n) algorithms for program analyses, such as common subexpression detection. Knuth also showed that most FORTRAN programs hav... |

73 |
Graph expressions and graph rewritings
- Bauderon, B
(Show Context)
Citation Context ...ntrol flow graphs of most Java programs have tree width at most 3 (though in general it can be arbitrary large) [16]. Once a graph has bounded tree width, we can construct a graph in an algebraic way =-=[3, 4]-=-. This suggests that finding a fixed point would be computed by recursive traversals on the algebraic structure, and the optimal solution would be obtained with a dynamic programming. Unfortunately, t... |

68 | An Algebraic Theory of Graph Reduction
- Arnborg, Courcelle, et al.
(Show Context)
Citation Context ...ntrol flow graphs of most Java programs have tree width at most 3 (though in general it can be arbitrary large) [16]. Once a graph has bounded tree width, we can construct a graph in an algebraic way =-=[3, 4]-=-. This suggests that finding a fixed point would be computed by recursive traversals on the algebraic structure, and the optimal solution would be obtained with a dynamic programming. Unfortunately, t... |

65 |
Automatic Generation of Linear-Time Algorithms from Predicate Calculus
- Borie, Parker, et al.
(Show Context)
Citation Context ... the existence of strong side conditions limits the chance to optimize. Instead, we restrict ourselves to graphs with bounded tree width, in which many NPhard graph problems are solved in linear-time =-=[11, 9]. -=-The concept of a graph with bounded tree width [25] independently appeared from early 80’s; partial k-tree in terms of cliques, some algebraic construction of k-terminal graphs [4, 3], and in terms ... |

54 | Revisiting catamorphism over datatypes with embedded functions
- Fegaras, Sheard
- 1996
(Show Context)
Citation Context ...on language is the regular path condition, but the efficiency of derived programs is not discusses. There are several functional approaches for computation on graphs. For instance, Fegaras and Sheard =-=[14]-=- treat graphs with embedded functions, i.e., graphs are treated as functions that generates all paths in a graph. Erwig introduces the active pattern matching, which is a conditional pattern matching ... |

29 | Functional programming with graphs
- Erwig
- 1997
(Show Context)
Citation Context ...phs with embedded functions, i.e., graphs are treated as functions that generates all paths in a graph. Erwig introduces the active pattern matching, which is a conditional pattern matching mechanism =-=[13]-=-. Their approaches are interesting in description, but the existence of strong side conditions limits the chance to optimize. Instead, we restrict ourselves to graphs with bounded tree width, in which... |

14 |
Tupling and mutumorphisms
- Fokkinga
- 1989
(Show Context)
Citation Context ...t function w is homomorphic [26]. Mutumorphism is a set of mutually recursive functions, among which no nested function calls occur and each argument of recursive call is a sub-structure of the input =-=[15]-=-. Note that by tupling transformation, mutumorphism is transformed to a single catamorphism [18]. Although mutumorphism is defined on more general data structures, from now on, we will consider SP Ter... |

14 | Analyzing the Treewidth of Java Programs
- Mæhle
- 2002
(Show Context)
Citation Context ...free C programs have tree width at most 6 [33], and recent empirical study shows that control flow graphs of most Java programs have tree width at most 3 (though in general it can be arbitrary large) =-=[16]-=-. Once a graph has bounded tree width, we can construct a graph in an algebraic way [3, 4]. This suggests that finding a fixed point would be computed by recursive traversals on the algebraic structur... |

12 | Universal regular path queries
- Lacey, Wyk
- 2003
(Show Context)
Citation Context ...ith temporal logic side conditions (described in CTL-FV) and shows that CTL-FV plays a crucial role in the proofs of correctness of classical optimizations. Instead of temporal logic, de Moor, et.al. =-=[12]-=- proposed another functional approach to control flow analyses. Their specification language is the regular path condition, but the efficiency of derived programs is not discusses. There are several f... |

9 | Linear-time register allocation for a fixed number of registers and no stack variables
- Bodlaender, Gustedt, et al.
- 1998
(Show Context)
Citation Context ...registers is fixed, we can obtain an efficient solution. Bodlaender, et.al. showed a linear-time algorithm to decide whether a program can be executed without spilling for a fixed number of registers =-=[8]-=-. This is elegant in theory; however, their estimation includes the blow up of tree width of an intersection graph of a family of subgraphs. Thus, their constant factor explodes. Our method based on O... |

6 |
Maximum marking problems
- Bird
- 2001
(Show Context)
Citation Context ...on of bottom-up and top-down traversals on an SP Term. Register allocation is more interesting, as it further requires optimality of the result. We solve it as an instance of maximum marking problems =-=[26, 27, 5]-=-; mark the nodes of a control flow graph under a certain condition such that the sum of weight of marked nodes is maximum (or, minimum). We make use of Optimization Theorem from our previous work [26,... |