Abstract
Data-flow analysis is a basis for program optimization and parallelizing transformations. The mechanism of passing reference parameters at call sites generates interprocedural aliases which complicate this analysis. Solutions have been developed for efficiently computing interprocedural aliases. However, factoring the computed aliases into data-flow information has been mostly overlooked, although improper factoring results in imprecise (conservative) data-flow information. In this document, we describe a mechanism which, in factoring in interprocedural aliases, computes data-flow information more precisely and with less time and space overhead than previous approaches.
- 1 AHO, A. V., SETHI, R., AND ULLMAN, J.D. Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading, Mass., 1986. Google Scholar
Digital Library
- 2 BANNINa, J. An efficient way to find the side effects of procedure calls and the aliases of variables. In Conference Record of the Sixth ACM Symposium on Principles of Programming Languages (San Antonio, Tex., Jan. 29-31, 1979), pp. 29-41. Google Scholar
Digital Library
- 3 BANNING, J. A method for determining the side effects of procedure calls. Ph.D. dissertation, Stanford Univ., 1978. Google Scholar
Digital Library
- 4 BURKE, M. An interval-based approach to exhaustive and incremental interprocedural data-flow analysis. ACM Trans. Program. Lang. Syst. 12, 3 (July 1990), 341-395. Google Scholar
Digital Library
- 5 CHOI, J.-D., CYTRON, R., AND FERRANTE, J. Automatic construction of sparse data flow evaluation graphs. In Conference Record of the ~ighteenth Annual A CM Symposium on Principles of Programming Languages (Orlando, Fla., Jan. 21-23, 1991), pp. 55-66. Google Scholar
Digital Library
- 6 COOPER, K., AND KENNEDY, K. Efficient computation of flow insensitive interprocedural summary information. In Proceedings of the SIGPLAN 84 Symposium on Compiler Construction. SIGPLAN Not. 19, 6 (June 1984), 247-258 Google Scholar
Digital Library
- 7 COOPER, K. D., AND KENNEDY, K. Fast interprocedural alias analysis. In Sixteenth A CM Symposium on Principles of Programming Languages (Austin, Tex., Jan. 11-13 1989), pp. 49-59. Google Scholar
Digital Library
- 8 COOPER, K. D., AND KENNEDY, K. Interprocedural side-effect analysis in linear time. in Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation (June 22-24), SIGPLAN Notices 23, 7 (July 1988), pp. 57-66. Google Scholar
Digital Library
- 9 COOPER, K. D., KENNEDY, K., AND TORCZON, L. The impact of interprocedural analysis and optimization in the rn programming environment. ACM Trans. Program. Lang. Syst. 8, 4 (Oct. 1986), 491-523. Google Scholar
Digital Library
- 10 CYTRON, n., FERRANTE, J., ROSEN, B. K., WEGMAN, M. N., AND ZADECK, F.K. An efficient method for computing static single assignment form. in Sixteenth Annual A CM Symposium on Principles of Programming Languages (Austin, Texas, Jan. 11-13, 1989), pp. 25-35. Google Scholar
Digital Library
- 11 MYERS, E.W. A precise inter-procedural data flow algorithm. In Conference Record Eighth ACM Symposium on Principles of Programming Languages (Jan. 26- 28, 1981), pp. 219-230. Google Scholar
Digital Library
Index Terms
Precise and efficient integration of interprocedural alias information into data-flow analysis
Recommendations
Interprocedural pointer alias analysis
We present practical approximation methods for computing and representing interprocedural aliases for a program written in a language that includes pointers, reference parameters, and recursion. We present the following contributions: (1) a framework ...
Interprocedural data flow analysis in Soot using value contexts
SOAP '13: Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysisAn interprocedural analysis is precise if it is flow sensitive and fully context-sensitive even in the presence of recursion. Many methods of interprocedural analysis sacrifice precision for scalability while some are precise but limited to only a ...
Precise interprocedural analysis using random interpretation
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesWe describe a unified framework for random interpretation that generalizes previous randomized intraprocedural analyses, and also extends naturally to efficient interprocedural analyses. There is no such natural extension known for deterministic ...








Comments