Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Elimination algorithms for data flow analysis
ACM Computing Surveys (CSUR)
Automatic recognition of induction variables and recurrence relations by abstract interpretation
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
Efficient Algorithms for Shortest Paths in Sparse Networks
Journal of the ACM (JACM)
An Algorithm for Structuring Flowgraphs
Journal of the ACM (JACM)
Fast Algorithms for Solving Path Problems
Journal of the ACM (JACM)
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
A program data flow analysis procedure
Communications of the ACM
The denotational semantics of programming languages
Communications of the ACM
On the capabilities of while, repeat, and exit statements
Communications of the ACM
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
Communications of the ACM
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Conversion of control dependence to data dependence
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
The Design of Automatic Parallelizers for Symbolic and Numeric Programs
Proceedings of the US/Japan Workshop on Parallel Lisp: Languages and Systems
An optimizing compiler for lexically scoped LISP
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
A DENOTATIONAL SEMANTICS OF CLU
A DENOTATIONAL SEMANTICS OF CLU
Optimizing supercompilers for supercomputers
Optimizing supercompilers for supercomputers
Combinatorial Algorithms: Theory and Practice
Combinatorial Algorithms: Theory and Practice
Reverse engineering and system renovation—an annotated bibliography
ACM SIGSOFT Software Engineering Notes
Toward a complete transformational toolkit for compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Making graphs reducible with controlled node splitting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Folklore confirmed: reducible flow graphs are exponentially larger
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic Parallelization of C by Means of Language Transcription
LCPC '98 Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing
Decompiling Java Bytecode: Problems, Traps and Pitfalls
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Using Hammock Graphs to Structure Programs
IEEE Transactions on Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Declarative techniques for model-driven business process integration
IBM Systems Journal
Ablego: a function outlining and partial inlining framework: Research Articles
Software—Practice & Experience
Krakatoa: decompilation in java (dose bytecode reveal source?)
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
Compiling business processes: untangling unstructured loops in irreducible flow graphs
International Journal of Web and Grid Services
From business process models to process-oriented software systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
The Fortran parallel transformer and its programming environment
Information Sciences: an International Journal
A generic architecture for data flow analysis to support reverse engineering
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
A study of irreducibility in C programs
Software—Practice & Experience
Optimized inlining of runtime monitors
NordSec'11 Proceedings of the 16th Nordic conference on Information Security Technology for Applications
Convex Invariant Refinement by Control Node Splitting: a Heuristic Approach
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
A single method for normalizing the control-flow of programs to facilitate program transformations, program analysis, and automatic parallelization is presented. While previous methods result in programs whose control flowgraphs are reducible, programs normalized by this technique satisfy a stronger condition than reducibility and are therefore simpler in their syntax and structure than with previous methods. In particular, all control-flow cycles are normalized into single-entry, single-exit while loops and all GOTOs are eliminated. Furthermore, the method avoids problems of code replication that are characteristic of node-splitting techniques. This restructuring obviates the control dependence graph, since afterwards control dependence relations are manifest in the syntax tree of the program. Transformations that effect this normalization are presented, and the complexity of the method is studied.