MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Precise Interprocedural Dataflow Analysis via Graph Reachability (1995) [256 citations — 27 self]

Abstract:

The paper shows how a large class of interprocedural dataflow-analysis problems can be solved precisely in polynomial time by transforming them into a special kind of graph-reachability problem. The only restrictions are that the set of dataflow facts must be a finite set, and that the dataflow functions must distribute over the confluence operator (either union or intersection). This class of problems includes---but is not limited to---the classical separable problems (also known as "gen/kill" or "bit-vector" problems)---e.g., reaching definitions, available expressions, and live variables. In addition, the class of problems that our techniques handle includes many non-separable problems, including truly-live variables, copy constant propagation, and possibly-uninitialized variables. Results are reported from a preliminary experimental study of C programs (for the problem of finding possiblyuninitialized variables). 1. Introduction This paper shows how to find precise solutions to a...

Citations

6121 Introduction to Algorithms – Cormen, Leiserson, et al. - 2001
2010 The Design and Analysis of Computer Algorithms – Aho, Hopcroft, et al. - 1974
246 Magic sets and other strange ways to implement logic programs – Bancilhon, Maier, et al. - 1986
234 Two approaches to interprocedural data flow analysis – Sharir, Pnueli - 1981
232 A unified approach to global program optimization – Kildall - 1973
205 On the power of magic – BEERI, R - 1987
108 On affine relationships among variables of a program – Karr - 1976
94 The program summary graph and flow-sensitive interprocedural data flow analysis – Callahan - 1988
79 Interprocedural constant propagation – Callahan, Cooper, et al. - 1986
76 Static determination of dynamic properties of recursive procedures – Cousot, Cousot - 1977
75 Demand-driven computation of interprocedural data flow – Duesterwald, Gupta, et al. - 1995
75 The interprocedural coincidence theorem – Knoop, Steffen - 1992
55 Demand interprocedural dataflow analysis – Horwitz, Reps, et al. - 1995
53 Data flow analysis of applicative programs using minimal function graphs – Jones, Mycroft - 1986
40 The Alexander method: a technique for the processing of recursive atoms in deductive databases – Rohmer, Lescoeur, et al. - 1986
39 Crafting a Compiler – Fischer, LeBlanc - 1988
39 Demand interprocedural program analysis using logic databases – Reps - 1993
38 Data flow frequency analysis – Ramalingam
31 Solving Demand Versions of Interprocedural Analysis Problems – Reps - 1994
20 Invariance of approximative semantics with respect to program transformations – Giegerich, Moncke, et al. - 1981
18 Interprocedural constant propagation: an empirical study – Metzger, Stroud - 1992
16 Flow-sensitive interprocedural constant propagation – Carini, Hind - 1995
9 induced aliasing: A problem classification – Pointer - 1991
5 Finite constants: Characterizations of a new decidable set of constants – Steffen, Knoop - 1991
1 A study of jump function implementations – Grove, Torczon - 1993