Finding Dominators in Practice
DOI:
https://doi.org/10.7155/jgaa.00119Keywords:
dominators , flowgraphs , control flow analysis , program optimization , experimental evaluation , path compression , Lengauer-Tarjan , iterative algorithmAbstract
The computation of dominators in a flowgraph has applications in several areas, including program optimization, circuit testing, and theoretical biology. Lengauer and Tarjan [] proposed two versions of a fast algorithm for finding dominators and compared them experimentally with an iterative bit-vector algorithm. They concluded that both versions of their algorithm were much faster even on graphs of moderate size. Recently Cooper et al. [] have proposed a new, simple, tree-based implementation of an iterative algorithm. Their experiments suggested that it was faster than the simple version of the Lengauer-Tarjan algorithm on graphs representing computer program control flows. Motivated by the work of Cooper et al., we present an experimental study comparing their algorithm (and some variants) with careful implementations of both versions of the Lengauer-Tarjan algorithm and with a new hybrid algorithm. Our results suggest that, although the performance of all the algorithms is similar, the most consistently fast are the simple Lengauer-Tarjan algorithm and the hybrid algorithm, and their advantage increases as the graph gets bigger or more complicated.Downloads
Download data is not yet available.
Downloads
Published
2006-01-01
How to Cite
Georgiadis, L., Tarjan, R., & Werneck, R. (2006). Finding Dominators in Practice. Journal of Graph Algorithms and Applications, 10(1), 69–94. https://doi.org/10.7155/jgaa.00119
Issue
Section
Articles
Categories
License
Copyright (c) 2006 Loukas Georgiadis, Robert Tarjan, Renato Werneck
This work is licensed under a Creative Commons Attribution 4.0 International License.