This Article 
 Bibliographic References 
 Add to: 
A Critical Analysis of Incremental Iterative Data Flow Analysis Algorithms
July 1990 (vol. 16 no. 7)
pp. 723-728

A model of data flow analysis and fixed point iteration solution procedures is presented. The faulty incremental iterative algorithm is introduced. Examples of the imprecision of restarting iteration from the intraprocedural and interprocedural domains are given. Some incremental techniques which calculate precise data flow information are summarized.

[1] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[2] F. E. Allen and J. Cocke, "A program data flow analysis procedure,"CACM, vol. 19, no. 3, Mar. 1977.
[3] J. P. Banning, "An efficient way to find the side effects of procedure calls and the aliases of variables," inProc. 6th POPL Conf., ACM, pp. 724-736, 1979.
[4] M. Burke, "An interval-based approach to exhaustive and incremental interprocedural data-flow analysis,"ACM Trans. Programming Languages Syst., vol. 12, pp. 341-395, July 1990.
[5] M. D. Carroll, "Dataflow update via attribute and dominator update," Ph.D. dissertation, Dep. Comput. Sci., Rutgers Univ., May 1988.
[6] M.D. Carroll and B.G. Ryder, "Incremental Dataflow Analysis via Dominator and Attribute Updates,"Proc. SIGACT/SIGPlan Symp. Principles of Programming Languages, ACM, New York, 1988, pp. 274-284.
[7] K. Cooper, "Analyzing aliases of reference formal parameters," inConf. Rec. Twelfth Annu. ACM Symp. Principles of Programming Languages, Jan. 1985, pp. 281-290.
[8] K. D. Cooper and K. Kennedy, "Efficient computation of flow insensitive interprocedural summary information," inProc. ACM SIGPLAN Symp. Compiler Construction, June 1984, pp. 247-258.
[9] K. D. Cooper, "Interprocedural data flow analysis in a programming environment," Ph.D. dissertation, Dep. Math. Sci., Rice Univ., 1983.
[10] V. Ghodssi, "Incremental analysis of programs," Ph.D. dissertation, Univ. Central Florida, 1983.
[11] S. Graham and M. Wegman, "Fast and usually linear algorithm for global flow analysis,"JACM, vol. 23, no. 1, Jan. 1976.
[12] M. S. Hecht and J. D. Ullman, "A simple algorithm for global data flow analysis problems,"SIAM J. Comput., vol. 4, no, 4, pp. 519- 532, Dec. 1977.
[13] J. B. Kam and J. D. Ullman, "Global data flow analysis and iterative algorithms,"J. ACM, vol. 23, no. 1, pp. 158-171, Jan. 1976.
[14] G. A. Kildall, "A unified approach to global program optimization," inProc. ACM Symp. on Principles of Program. Languages, 1973, pp. 194-206.
[15] T. J. Marlowe, "Data flow analysis and incremental iteration," Ph.D. dissertation, Rutgers Univ., Aug. 1989.
[16] T. J. Marlowe and B. G. Ryder, "An efficient hybrid algorithm for incremental data flow analysis,"Conf. Record ACM Symp. Principles of Programming Languages, 1990, pp. 184-196.
[17] L. Pollock, "An approach to incremental compilation of optimized code," Ph.D. dissertation, Univ. Pittsburgh, Pittsburgh, PA, Apr. 1986.
[18] L. Pollock and M. Sofia, "An incremental version of iterative data flow analysis,"IEEE Trans. Software Eng., vol. 15, no. 12, Dec. 1989.
[19] B. K. Rosen, "High-level data flow analysis,"Commun. ACM, vol. 20, pp. 712-724, 1977.
[20] B. K. Rosen, "Monoids for rapid data flow analysis,"SIAM J. Comput., vol. 9, no. 1, pp. 159-196, Nov. 1980.
[21] B. K. Rosen, "A lubricant for data flow analysis,"SIAM J. Comput., vol. 11, no. 3, pp. 493-511, Aug. 1982.
[22] B. G. Ryder, "Incremental data flow analysis based on a unified model of elimination algorithms," inConf. Rec. 9th Ann. ACM Symp. POPL, 1982, pp. 167-176.
[23] B. G. Ryder and M. D. Carroll, "An incremental algorithm for software analysis,"Proc. ACM SIGSOFT/SIGPLAN Software Eng. Symp. Practical Software Dev. Environments, 1986, pp. 171-179.
[24] B. G. Ryder, T. J. Marlowe, and M. C. Paull, "Conditions for incremental iteration: Examples and counterexamples,"Sci. Programm., vol. 11, pp. 1-15, 1988.
[25] B. G. Ryder and M. C. Paull, "Elimination algorithms for data flow analysis,"ACM Comput. Surveys, vol. 18, no. 3, Sept. 1986.
[26] B.G. Ryder and M. C. Paull, "Incremental data-flow analysis,"ACM Trans. Program Lang. Syst., vol. 10, pp. 1-50, Jan. 1988.
[27] J. T. Schwartz and M. Sharir, "A design for optimizations of bivectoring class," Courant Inst. Math. Sci., New York Univ. Comput. Sci. Tech. Rep. 17, Sept. 1979.
[28] R. E. Tarjan, "Testing flow graph reducibility,"J. Comput. Syst. Sci., vol. 9, pp. 355-365, 1974.
[29] R. E. Tarjan, "Fast algorithms for solving path problems,"JACM, vol. 28, no. 3, July 1981.
[30] R.E. Tarjan, "A unified approach to path problems,"J. ACM, vol. 28, no. 3, pp. 577-593, July 1981.
[31] F. Zadeck, "Incremental data flow analysis in a structured program editor," inProc. ACM SIGPLAN 1984 Symp. Compiler Construction, June 1984.

Index Terms:
intraprocedural domains; critical analysis; incremental iterative data flow analysis algorithms; model; fixed point iteration solution; interprocedural domains; parallel algorithms; parallel programming.
M.G. Burke, B.G. Ryder, "A Critical Analysis of Incremental Iterative Data Flow Analysis Algorithms," IEEE Transactions on Software Engineering, vol. 16, no. 7, pp. 723-728, July 1990, doi:10.1109/32.56098
Usage of this product signifies your acceptance of the Terms of Use.