A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Analysis of a simple algorithm for global data flow problems
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
PASCAL user manual and report
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Solving path problems on directed graphs.
Solving path problems on directed graphs.
A practical interprocedural data flow analysis algorithm and its applications.
A practical interprocedural data flow analysis algorithm and its applications.
An interval-based approach to exhaustive and incremental interprocedural data-flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Experience with interprocedural analysis of array side effects
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic generation and management of interprocedural program analyses
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-sensitive interprocedural points-to analysis in the presence of function pointers
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Interprocedural Partial Redundancy Elimination With Application to Distributed Memory Compilation
IEEE Transactions on Parallel and Distributed Systems
Data Flow Analysis for Procedural Languages
Journal of the ACM (JACM)
A practical interprocedural data flow analysis algorithm
Communications of the ACM
Retargetable high-level alias analysis
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An Implementation of Interprocedural Bounded Regular Section Analysis
IEEE Transactions on Parallel and Distributed Systems
The design of a data flow analyzer
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
The experimental compiling system
IBM Journal of Research and Development
Data flow analysis in the presence of procedure calls
IBM Journal of Research and Development
The history of language processor technology in IBM
IBM Journal of Research and Development
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
A tool to display array access patterns in OpenMP programs
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
Language design and analyzability: a retrospective
Software—Practice & Experience
Generating data transfers for distributed GPU parallel programs
Journal of Parallel and Distributed Computing
Hi-index | 0.02 |
A new interprocedural data flow analysis algorithm is presented and analyzed. The algorithm associates with each procedure in a program information about which variables may be modified, which may be used, and which are possibly preserved by a call on the procedure, and all of it subcalls. The algorithm is sufficiently powerful to be used on recursive programs and to deal with the sharing of variables which arises through reference parameters. The algorithm is unique in that it can compute all of this information in a single pass, not requiring a prepass to compute calling relationships or sharing patterns. A lower bound for the computational complexity of gathering interprocedural data flow information is derived and the algorithm is shown to be asymptotically optimal. The algorithm has been implemented and it is practical for use even on quite large programs.