Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

A fast algorithm for finding dominators in a flowgraph

Published: 01 January 1979 Publication History

Abstract

A fast algorithm for finding dominators in a flowgraph is presented. The algorithm uses depth-first search and an efficient method of computing functions defined on paths in trees. A simple implementation of the algorithm runs in O(m log n) time, where m is the number of edges and n is the number of vertices in the problem graph. A more sophisticated implementation runs in O(mα(m, n)) time, where α(m, n) is a functional inverse of Ackermann's function.
Both versions of the algorithm were implemented in Algol W, a Stanford University version of Algol, and tested on an IBM 370/168. The programs were compared with an implementation by Purdom and Moore of a straightforward O(mn)-time algorithm, and with a bit vector algorithm described by Aho and Ullman. The fast algorithm beat the straightforward algorithm and the bit vector algorithm on all but the smallest graphs tested.

References

[1]
ACKERMA~N, W. Zum Hilbertschen Aufbau der reellen Zahlen. Math. Ann. 99 (1928), 118-133.
[2]
AMo, A.V., A~D ULLMA~q, J.D. The Theory of Parsing, Translation, and Compiling, Vol. II: Compiling. Prentice-Hall, Englewood Cliffs, N.J., 1972.
[3]
Axo, A.V., AND ULLMAS, J.D. Principles of Compiler Design. Addison-Wesley, Reading, Mass., 1977.
[4]
HEcuT, M.S., ANo ULLMAS, J.D. A simple algorithm for global data flow analysis problems. SIAM J. Comput. 4 (I973), 519-532.
[5]
K~uTH, D.E. The Art of Computer Programming, Vol. 1: Fundamental Algorithms. Addison- Wesley, Reading, Mass., 1968.
[6]
LORRY, E.S., ASr) MSOLOCK, C.W. Object code optimization. Comm. ACM/2, I (Jan. 1969), 13- 22.
[7]
PURDOM, P.W., AND MOORE, E.F. Algorithm 430: Immediate predominators in a directed graph. Comm. ACM 15, 8 (Aug. 1972), 777-778.
[8]
REIF, J. Combinatorial aspects of symbolic program analysis. Tech. Rep. TR-11-77, Center for Research in Computing Technology, Harvard U., Cambridge, Mass., 1977.
[9]
TARJA~, R.E. Depth-first search and linear graph algorithms. SIAM J. Comptng. I (1972), 146- 160.
[10]
TARJA~, R. Finding dominators in directed graphs SIAM J. Comptng. 3 (1974), 62-89.
[11]
TARJAN, R.E. Edge-disjoint spanning trees, dominators, and depth-first search. Tech. Rep. STAN-CS-74-455, Comptr. Sci. Dept., Stanford U., Stanford, Calif., 1974.
[12]
TARJAN, R.E. Applications of path compression on balanced trees. Tech. Rep. STAN-CS-75-512, Comptr. Sci. Dept., Stanford U., Stanford, Calif., 1975.
[13]
TARJAN, R.E. Solving path problems on directed graphs. Tech. Rep. STAN-CS-528, Comptr. Sci. Dept., Stanford U., Stanford, Calif., 1975.
[14]
TARJAN, R.E. Applications of path compression on balanced trees. To appear in J. ACM.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 1, Issue 1
July 1979
153 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/357062
  • Editor:
  • Susan L. Graham
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1979
Published in TOPLAS Volume 1, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)691
  • Downloads (Last 6 weeks)46
Reflects downloads up to 03 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Efficient Influence Minimization via Node BlockingProceedings of the VLDB Endowment10.14778/3675034.367504217:10(2501-2513)Online publication date: 1-Jun-2024
  • (2024)Predictable and optimized single-path code for predicated processorsJournal of Systems Architecture10.1016/j.sysarc.2024.103214154(103214)Online publication date: Sep-2024
  • (2024)SolARScience of Computer Programming10.1016/j.scico.2023.103036232:COnline publication date: 1-Jan-2024
  • (2023)Sybil-Proof Diffusion Auction in Social NetworksProceedings of the 2023 International Conference on Autonomous Agents and Multiagent Systems10.5555/3545946.3598787(1379-1387)Online publication date: 30-May-2023
  • (2023)Minimum+1 (s, t)-cuts and Dual-edge Sensitivity OracleACM Transactions on Algorithms10.1145/362327119:4(1-41)Online publication date: 14-Oct-2023
  • (2023)Khaos: The Impact of Inter-procedural Code Obfuscation on Binary Diffing TechniquesProceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3579990.3580007(55-67)Online publication date: 17-Feb-2023
  • (2023)Toward Intelligent Fashion Design: A Texture and Shape Disentangled Generative Adversarial NetworkACM Transactions on Multimedia Computing, Communications, and Applications10.1145/356759619:3(1-23)Online publication date: 25-Feb-2023
  • (2023)CUR Transformer: A Convolutional Unbiased Regional Transformer for Image DenoisingACM Transactions on Multimedia Computing, Communications, and Applications10.1145/356612519:3(1-22)Online publication date: 25-Feb-2023
  • (2023)Security and Usability of a Personalized User Authentication Paradigm: Insights from a Longitudinal Study with Three Healthcare OrganizationsACM Transactions on Computing for Healthcare10.1145/35646104:1(1-40)Online publication date: 27-Feb-2023
  • (2023)Synthetic Behavior Sequence Generation Using Generative Adversarial NetworksACM Transactions on Computing for Healthcare10.1145/35639504:1(1-23)Online publication date: 27-Feb-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media