Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation

This paper concerns interprocedural dataflow-analysis problems in which the dataflow information at a program point is represented by an environment (i.e., a mapping from symbols to values), and the effect of a program operation is represented by a distributive environment transformer. We present an efficient dynamic-programming algorithm that produces precise solutions.

[1]  Rajiv Gupta,et al.  Demand-driven computation of interprocedural data flow , 1995, POPL '95.

[2]  Barbara G. Ryder,et al.  Pointer-induced aliasing: a problem classification , 1991, POPL '91.

[3]  Neil D. Jones,et al.  Program Flow Analysis: Theory and Application , 1981 .

[4]  Thomas W. Reps,et al.  Demand interprocedural dataflow analysis , 1995, SIGSOFT FSE.

[5]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[6]  David Callahan,et al.  The program summary graph and flow-sensitive interprocedual data flow analysis , 1988, PLDI '88.

[7]  Patrick Cousot,et al.  Static Determination of Dynamic Properties of Recursive Procedures , 1977, Formal Description of Programming Concepts.

[8]  Robert Metzger,et al.  Interprocedural constant propagation: an empirical study , 1993, LOPL.

[9]  Ben Wegbreit,et al.  Property extraction in well-founded property sets , 1975, IEEE Transactions on Software Engineering.

[10]  Thomas W. Reps,et al.  Demand Interprocedural Program Analysis Using Logic Databases , 1993, Workshop on Programming with Logic Databases , ILPS.

[11]  Mark N. Wegman,et al.  Constant propagation with conditional branches , 1985, POPL.

[12]  Bernhard Steffen,et al.  The Interprocedural Coincidence Theorem , 1992, CC.

[13]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[14]  Robert Giegerich,et al.  Invariance of Approximate Semantics with Respect to Program Transformations , 1981, GI Jahrestagung.

[15]  Thomas W. Reps,et al.  Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation , 1995, TAPSOFT.

[16]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[17]  G. Ramalingam Data flow frequency analysis , 1996, PLDI '96.

[18]  Michael Hind,et al.  Flow-sensitive interprocedural constant propagation , 1995, PLDI '95.

[19]  Linda Torczon,et al.  Interprocedural constant propagation: a study of jump function implementation , 1993, PLDI '93.

[20]  Bernhard Steffen,et al.  Finite Constants: Characterizations of a New Decidable Set of Constants , 1991, Theor. Comput. Sci..

[21]  Charles N. Fischer,et al.  Crafting a Compiler , 1988 .

[22]  Thomas W. Reps,et al.  Solving Demand Versions of Interprocedural Analysis Problems , 1994, CC.

[23]  Catriel Beeri,et al.  On the power of magic , 1987, J. Log. Program..

[24]  Raghu Ramakrishnan Applications of Logic Databases , 1995, The Kluwer International Series in Engineering and Computer Science 296.

[25]  Gary A. Kildall,et al.  A unified approach to global program optimization , 1973, POPL.

[26]  Neil D. Jones,et al.  Data flow analysis of applicative programs using minimal function graphs , 1986, POPL '86.