#### DMCA

## On the Sequential Nature of Interprocedural Program-Analysis Problems (1995)

### Cached

### Download Links

- [www.cs.wisc.edu]
- [repository.readscheme.org]
- DBLP

### Other Repositories/Bibliography

Citations: | 14 - 3 self |

### Citations

2825 | Computational Complexity - Papadimitriou - 1994 |

1614 |
Program slicing
- Weiser
- 1981
(Show Context)
Citation Context ...th respect to program-point p and variable x consists of all statements and predicates of the program that might affect the value of x at point p. This concept, originally discussed by Mark Weiser in =-=[24]-=-, allows one to isolate individual computation threads within a program. Slicing can be used for such diverse activities as helping a programmer understand complicated code, aiding debugging [17], aut... |

837 | Interprocedural slicing using dependence graphs.
- Horwitz, Reps, et al.
- 1988
(Show Context)
Citation Context ...ure calls. 3.1. The Calling-Context Problem and Valid Paths One algorithm for interprocedural slicing was presented by Weiser [24]. However, as pointed out independently by Horwitz, Reps, and Binkley =-=[7,9]-=- and Hwang, Du, and Chou [10], Weiser’s algorithm is imprecise in the sense that it can report “effects” that are transmitted (only) through paths in a graph representation of the program that do not ... |

454 | Precise interprocedural dataflow analysis via graph reachability. - Reps, Horwitz, et al. - 1995 |

372 |
Two approaches to interprocedural data flow analysis.
- Sharir, Pnueli
- 1981
(Show Context)
Citation Context ...tatic) estimates of what can happen at runtime. The concept of valid paths arises in both the interprocedural-slicing problem [9,10] and in “flow-sensitive” interprocedural dataflow analysis problems =-=[22,19,2,16,15]-=-. In particular, Sharir and Pnueli have generalized Kildall’s concept of the “meet-over-all-paths” solution of an intraprocedural dataflow analysis problem [14] to the “meet-over-all-valid-paths” solu... |

371 | A unified approach to global program optimization. In:
- Kildall
- 1973
(Show Context)
Citation Context ...l dataflow analysis problems [22,19,2,16,15]. In particular, Sharir and Pnueli have generalized Kildall’s concept of the “meet-over-all-paths” solution of an intraprocedural dataflow analysis problem =-=[14]-=- to the “meet-over-all-valid-paths” solution of an interprocedural dataflow analysis problem [22]. Interprocedural analysis is generally expensive, and can be the bottleneck in compilers that employ i... |

351 | A safe approximate algorithm for interprocedural aliasing. - Landi, Ryder - 1992 |

330 |
The program dependence graph in a software development environment,"
- Ottenstein, Ottenstein
- 1984
(Show Context)
Citation Context ...hic procedure—a slice can be determined from the closure of the directly-affects relation. Ottenstein and Ottenstein pointed out how well-suited program dependence graphs are for this kind of slicing =-=[20]-=-. Once a program is represented by its program dependence graph, the slicing problem is simply a vertex-reachability problem, and thus slices can be computed in time linear in the size of the dependen... |

250 | Integrating noninterfering versions of programs.
- Horwitz, Prins, et al.
- 1989
(Show Context)
Citation Context ... used for such diverse activities as helping a programmer understand complicated code, aiding debugging [17], automatically parallelizing programs [23,1], and automatically combining program variants =-=[8]-=-. In Weiser’s terminology, a slicing criterion is a pair <p, V >, where p is a program point and V is a subset of the program’s variables. In his work, a slice consists of all statements and predicate... |

165 | Undecidability of static analysis. - Landi - 1992 |

139 | Interprocedural modification side effect analysis with pointer aliasing. In: - Landi, Ryder, et al. - 1993 |

126 |
A precise inter-procedural data flow algorithm,” in POPL.
- Myers
- 1981
(Show Context)
Citation Context ...tatic) estimates of what can happen at runtime. The concept of valid paths arises in both the interprocedural-slicing problem [9,10] and in “flow-sensitive” interprocedural dataflow analysis problems =-=[22,19,2,16,15]-=-. In particular, Sharir and Pnueli have generalized Kildall’s concept of the “meet-over-all-paths” solution of an intraprocedural dataflow analysis problem [14] to the “meet-over-all-valid-paths” solu... |

114 | Pointer-induced aliasing: A problem classification.
- Landi, Ryder
- 1991
(Show Context)
Citation Context ...tatic) estimates of what can happen at runtime. The concept of valid paths arises in both the interprocedural-slicing problem [9,10] and in “flow-sensitive” interprocedural dataflow analysis problems =-=[22,19,2,16,15]-=-. In particular, Sharir and Pnueli have generalized Kildall’s concept of the “meet-over-all-paths” solution of an intraprocedural dataflow analysis problem [14] to the “meet-over-all-valid-paths” solu... |

102 | The interprocedural coincidence theorem.
- Knoop, Steffen
- 1992
(Show Context)
Citation Context |

98 | The program summary graph and flow-sensitive interprocedural data flow analysis
- Callahan
- 1988
(Show Context)
Citation Context |

86 |
Ordered attribute grammars.
- Kastens
- 1980
(Show Context)
Citation Context ...13,3,18] and other similar approximations to the characteristic graphs of an attribute grammar’s nonterminals that can be computed in polynomial time, such as TDS graphs of ordered attribute grammars =-=[12]-=-. To establish the connection between Theorem 3.3 and attribute grammars it is necessary to introduce the concept of a “linkage grammar”—an attribute grammar that models the call structure of a progra... |

81 |
Complete Problems for Deterministic Polynomial Time.
- Jones, Laaser
- 1977
(Show Context)
Citation Context ...plete for P (or “P-complete under log-space reductions”) has the property that if it is recognizable in space logk( . ) then every language in P (a.k.a. PTIME) is also recognizable in space logk( . ) =-=[11]-=-. Furthermore, if any problem that is log-space complete for P has an NC parallel algorithm (i.e. a parallel algorithm in which the number of processors is bounded by a polynomial in the size of the i... |

76 |
J.C.: On the sequential nature of unification
- Dwork, Kanellakis, et al.
- 1984
(Show Context)
Citation Context ...ea, our results can be viewed as being complementary to the results of Dwork, Kanellakis, and Mitchell, who showed that there are limitations on the ability to use parallelism to speed up unification =-=[4]-=-. The Dwork-Kanellakis-Mitchell result demonstrates that there are limitations on the use of parallelism to speed up the execution of programs (specifically, programs written in languages such as Prol... |

70 |
Attribute Grammars: Definition, Systems and Bibliography,
- Deransart, Jourdan, et al.
- 1988
(Show Context)
Citation Context ...only straight-line code and procedure calls, but no conditional statements (nor loops, nor recursion). Remark. Theorem 3.3 also has consequences for the computation of IO graphs of attribute grammars =-=[13,3,18]-=- and other similar approximations to the characteristic graphs of an attribute grammar’s nonterminals that can be computed in polynomial time, such as TDS graphs of ordered attribute grammars [12]. To... |

65 |
The Monotone and Planar Circuit Value Problems are Log Space Complete for P
- Goldschlager
- 1977
(Show Context)
Citation Context ... a polynomial number of processors). The proof that interprocedural slicing is log-space complete for P is by a log-space reduction from a known P-complete problem, the monotone circuit value problem =-=[5]-=-, which is defined as follows: Definition 3.2. A monotone circuit is a directed acyclic graph with five different kinds of nodes (called gates): • input gates have no in-edges and one out-edge. • and ... |

54 | Demand interprocedural program analysis using logic databases. - Reps - 1994 |

25 | Finding program slices for recursive procedures - Hwang, Du, et al. |

22 |
Experiments on slicing-based debugging tools
- Weiser, Lyle
- 1986
(Show Context)
Citation Context ...r in [24], allows one to isolate individual computation threads within a program. Slicing can be used for such diverse activities as helping a programmer understand complicated code, aiding debugging =-=[17]-=-, automatically parallelizing programs [23,1], and automatically combining program variants [8]. In Weiser’s terminology, a slicing criterion is a pair <p, V >, where p is a program point and V is a s... |

20 |
Logic and Logic Programming
- Robinson
- 1986
(Show Context)
Citation Context ...y well be possible to use parallelism to achieve useful speedups on the kinds of staticanalysis problems that actually arise in practice—cf. Robinson’s comments on the Dwork-KanellakisMitchell result =-=[21]-=-.) The gadgets used in the constructions in Sections 3 and 4 have some similarities to the ones used in the proofs that the unification problem [4] and the left-linear semi-unification problem [6] are... |

19 |
S.K.: Automatic generation of efficient evaluators for attribute grammars
- Kennedey, Warren
- 1976
(Show Context)
Citation Context ...only straight-line code and procedure calls, but no conditional statements (nor loops, nor recursion). Remark. Theorem 3.3 also has consequences for the computation of IO graphs of attribute grammars =-=[13,3,18]-=- and other similar approximations to the characteristic graphs of an attribute grammar’s nonterminals that can be computed in polynomial time, such as TDS graphs of ordered attribute grammars [12]. To... |

15 | Reconstructing sequential behavior from parallel behavior projections - WEISER - 1983 |

14 |
Grammar flow analysis.
- Moncke, Wilhelm
- 1991
(Show Context)
Citation Context ...only straight-line code and procedure calls, but no conditional statements (nor loops, nor recursion). Remark. Theorem 3.3 also has consequences for the computation of IO graphs of attribute grammars =-=[13,3,18]-=- and other similar approximations to the characteristic graphs of an attribute grammar’s nonterminals that can be computed in polynomial time, such as TDS graphs of ordered attribute grammars [12]. To... |

13 |
Minimizing communication for synchronizing parallel dataflow programs
- BADGER, WEISER
(Show Context)
Citation Context ... computation threads within a program. Slicing can be used for such diverse activities as helping a programmer understand complicated code, aiding debugging [17], automatically parallelizing programs =-=[23,1]-=-, and automatically combining program variants [8]. In Weiser’s terminology, a slicing criterion is a pair <p, V >, where p is a program point and V is a subset of the program’s variables. In his work... |

7 | Fast left-linear semi-unification
- Henglein
- 1990
(Show Context)
Citation Context ...lt [21].) The gadgets used in the constructions in Sections 3 and 4 have some similarities to the ones used in the proofs that the unification problem [4] and the left-linear semi-unification problem =-=[6]-=- are log-space complete for P. Landi and Ryder have also investigated the computational complexity of interprocedural dataflow analysis under the assumption that only valid paths are to be considered ... |

2 | The program dependence graph and its use in optimization," ACMTrans - Ferrante, Ottenstein, et al. - 1987 |

2 | Speeding up slicing," SIGSOFT 94 - Reps, Horwitz, et al. - 1994 |

1 | F.,"Fast left-linear semi-unification,"pp. 82-91 - Henglein - 1990 |

1 | Integrating non-interfering versions of programs," ACMTrans - Horwitz, Prins, et al. - 1989 |

1 | Aunified approach to global program optimization,"pp - Kildall - 1973 |

1 | The interprocedural coincidence theorem,"pp. 125-140 - Knoop, Steffen - 1992 |

1 | Dependence graphs and compiler optimizations,"pp. 207-218 - Kuck, Kuhn, et al. |

1 | Experiments on slicing-based debugging tools,"in - Lyle, Weiser - 1986 |

1 | Grammar flowanalysis,"pp. 151-186 - ncke, Wilhelm - 1991 |

1 | The undecidability of aliasing," ACMTrans - Ramalingam - 1994 |