Global Data Flow Analysis and Iterative Algorithms
Journal of the ACM (JACM)
A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
On Live-Dead Analysis for Global Data Flow Problems
Journal of the ACM (JACM)
Data Flow Analysis for Procedural Languages
Journal of the ACM (JACM)
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Communications of the ACM
Optimization of expressions in Fortran
Communications of the ACM
Procedure linkage optimization working paper
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Node listings applied to data flow analysis
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Design of an Optimizing Compiler
The Design of an Optimizing Compiler
A control statement for natural top-down structured programming
Programming Symposium, Proceedings Colloque sur la Programmation
Global common subexpression elimination
Proceedings of a symposium on Compiler optimization
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Program improvement by source to source transformation
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Proving that computer programs terminate cleanly.
Proving that computer programs terminate cleanly.
ACM SIGPLAN Notices
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
A mathematical theory of global program optimization (Prentice-Hall series in automatic computation)
Structured programming
Information-flow and data-flow analysis of while-programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph translation schemes to generate compiler parts
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental data-flow analysis algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Web Structures: A Tool for Representing and Manipulating Programs
IEEE Transactions on Software Engineering
Parallelizing a database programming language
DPDS '88 Proceedings of the first international symposium on Databases in parallel and distributed systems
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An interval-based approach to exhaustive and incremental interprocedural data-flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Data Dependency Graphs for Ada Programs
IEEE Transactions on Software Engineering
A Critical Analysis of Incremental Iterative Data Flow Analysis Algorithms
IEEE Transactions on Software Engineering
Semantical interprocedural parallelization: an overview of the PIPS project
ICS '91 Proceedings of the 5th international conference on Supercomputing
Array privatization for parallel execution of loops
ICS '92 Proceedings of the 6th international conference on Supercomputing
The maintenance of intermediate values in goal-directed evaluation
ACM Letters on Programming Languages and Systems (LOPLAS)
A research environment for incremental data flow analysis
CSC '85 Proceedings of the 1985 ACM thirteenth annual conference on Computer Science
Data Flow Analysis for Procedural Languages
Journal of the ACM (JACM)
Program analysis with partial transfer functions
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Pascal program development aids
ACM-SE 17 Proceedings of the 17th annual Southeast regional conference
Monoids for rapid data flow analysis
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Applications of high level control flow
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Prime subprogram parsing of a program
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler design for efficient code generation and program optimization
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
The design of a global optimizer
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
A truly generative semantics-directed compiler generator
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Global data flow analysis by decomposition into primes
ICSE '82 Proceedings of the 6th international conference on Software engineering
On data flow guided program testing
ACM SIGPLAN Notices
Automatic extraction of function bodies from software binaries
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
Static data-flow analysis of synchronous programs
MEMOCODE'09 Proceedings of the 7th IEEE/ACM international conference on Formal Methods and Models for Codesign
SMT-based optimization for synchronous programs
Proceedings of the 14th International Workshop on Software and Compilers for Embedded Systems
Structural analysis: A new approach to flow analysis in optimizing compilers
Computer Languages
Passive code in synchronous programs
ACM Transactions on Embedded Computing Systems (TECS) - Special Section ESFH'12, ESTIMedia'11 and Regular Papers
Hi-index | 48.22 |
In contrast to the predominant use of low-level intermediate text, high-level data flow analysis deals with programs essentially at source level and exploits the control flow information implicit in the parse tree. The need for high-level flow analysis arises from several aspects of recent work on advanced methods of program certification and optimization. This paper proposes a simple general method of high-level data flow analysis that allows free use of escape and jump statements, avoids large graphs when compiling large programs, facilitates updating of data flow information to reflect program changes, and derives new global information helpful in solving many familiar global flow analysis problems. An illustrative application to live variable analysis is presented. Many of the graphs involved are constructed and analyzed before any programs are compiled, thus avoiding certain costs that low-level methods incur repeatedly at compile time.