Demand-driven computation of interprocedural data flow

作者: Evelyn Duesterwald , Rajiv Gupta , Mary Lou Soffa

DOI: 10.1145/199448.199461

关键词:

摘要: This paper presents a general framework for deriving demand-driven algorithms interprocedural data flow analysis of imperative programs. The goal is to reduce the time and/or space overhead conventional exhaustive by avoiding collection information that not needed. In our framework, demand modeled as set date queries. derived find responses these queries through partial reversal respective analysis. Depending on whether minimizing or primary concern, result caching may be incorporated in algorithm. Our applicable problems with finite domain set. If problem's functions are distributive, provide precise corresponding For monotone but non-distributive provided solutions only approximate. We demonstrate approach using example copy constant propagation.

参考文章(34)
Patrick Cousot, Semantic foundations of program analysis Prentice Hall. pp. 303- 342 ,(1981)
Thomas Reps, Solving Demand Versions of Interprocedural Analysis Problems compiler construction. pp. 389- 403 ,(1994) , 10.1007/3-540-57877-3_26
Evelyn Duesterwald, Rajiv Gupta, Mary Lou Soffa, Reducing the Cost of Data Flow Analysis By Congruence Partitioning compiler construction. pp. 357- 373 ,(1994) , 10.1007/3-540-57877-3_24
Radhia Cousot, Patrick Cousot, Static determination of dynamic properties of recursive procedures Formal Description of Programming Concepts. pp. 237- 277 ,(1977)
Jens Knoop, Bernhard Steffen, The Interprocedural Coincidence Theorem compiler construction. pp. 125- 140 ,(1992) , 10.1007/3-540-55984-1_13
Eugene M. Myers, A precise inter-procedural data flow algorithm symposium on principles of programming languages. pp. 219- 230 ,(1981) , 10.1145/567532.567556
Vadim Maslov, Lazy array data-flow dependence analysis symposium on principles of programming languages. pp. 311- 325 ,(1994) , 10.1145/174675.177911
Richard Johnson, Keshav Pingali, Dependence-based program analysis Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation - PLDI '93. ,vol. 28, pp. 78- 89 ,(1993) , 10.1145/155090.155098
Barry K. Rosen, Data Flow Analysis for Procedural Languages Journal of the ACM. ,vol. 26, pp. 322- 344 ,(1979) , 10.1145/322123.322135
Neil D. Jones, Steven S. Muchnick, A flexible approach to interprocedural data flow analysis and programs with recursive data structures Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '82. pp. 66- 74 ,(1982) , 10.1145/582153.582161