Journal of the ACM (JACM)
Communications of the ACM
A linear algorithm for finding dominators in flow graphs and related problems
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
Efficient parallel algorithms for path problems in directed graphs
SPAA '89 Proceedings of the first annual ACM symposium on Parallel algorithms and architectures
Generalized dominators and post-dominators
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dominators, super blocks, and program coverage
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On slicing programs with jump statements
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Incremental computation of dominator trees
ACM Transactions on Programming Languages and Systems (TOPLAS)
Linear-time pointer-machine algorithms for least common ancestors, MST verification, and dominators
STOC '98 Proceedings of the thirtieth annual ACM symposium on Theory of computing
A new, simpler linear-time dominators algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient coverage testing using global dominator graphs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
A static measure of a subset of intra-procedural data flow testing coverage based on node coverage
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
On finding lowest common ancestors in trees
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
An Efficient Algorithm for Finding Double-Vertex Dominators in Circuit Graphs
Proceedings of the conference on Design, Automation and Test in Europe - Volume 1
Structural Testing Based on Minimum Kernels
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
A fast algorithm for finding common multiple-vertex dominators in circuit graphs
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
Improved Boolean function hashing based on multiple-vertex dominators
Proceedings of the 2005 Asia and South Pacific Design Automation Conference
A practical interprocedural dominance algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computing SSA Form with Matrices
Electronic Notes in Theoretical Computer Science (ENTCS)
An approach for extracting a small unsatisfiable core
Formal Methods in System Design
An experimental study of dynamic dominators
ESA'12 Proceedings of the 20th Annual European conference on Algorithms
Hi-index | 48.22 |
We assume a directed graph whose nodes are labeled by integers between 1 and n. The arcs of this graph correspond to the flow of control between blocks of a computer program. The initial node of this graph (corresponding to the entry point of the program) is labeled by the integer 1. For optimizing the object code generated by a compiler, the relationship of immediate predominator has been used by Lowry and Medlock [3]. We say that node i predominates node k if every path from node 1 to node k passes through (i.e. both into and out of) node i. Node j is an immediate predominator of node k if node j predominates node k and if every other node i which predominates node k also predominates node j. It can easily be proved that if k ≠ 1 and node k is reachable from node 1t hen node k has exactly one immediate predominator. In case k = 1, or node k is not reachable from node 1, the immediate predominator of node k is undefined, and the value 0 will be given by the procedure PREDOMINATOR.