Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Dominator (graph theory)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Applications == Dominators, and dominance frontiers particularly, have applications in [[compiler]]s for computing [[static single assignment form]]. A number of compiler optimizations can also benefit from dominators. The flow graph in this case comprises [[basic block]]s. Dominators play a crucial role in control flow analysis by identifying the program behaviors that are relevant to a specific statement or operation, which helps in optimizing and simplifying the control flow of programs for analysis.<ref>{{Cite journal |last1=Tamrawi |first1=Ahmed |last2=Kothari |first2=Suresh |date=2018-10-01 |title=Projected control graph for computing relevant program behaviors |url=https://www.sciencedirect.com/science/article/pii/S0167642318301497 |journal=Science of Computer Programming |volume=163 |pages=93β114 |doi=10.1016/j.scico.2018.04.003 |issn=0167-6423}}</ref> Automatic parallelization benefits from postdominance frontiers. This is an efficient method of computing control dependence, which is critical to the analysis. Memory usage analysis can benefit from the dominator tree to easily find leaks and identify high memory usage.<ref>{{cite web |url=http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Fconcepts%2Fdominatortree.html |title=Dominator Tree |author=<!--Staff writer(s); no by-line.--> |orig-year=2008|year=2012 |website=eclipse.org |publisher=SAP AG and IBM Corporation |access-date=21 June 2013 }}</ref> In hardware systems, dominators are used for computing signal probabilities for test generation, estimating switching activities for power and noise analysis, and selecting cut points in equivalence checking.<ref>{{cite book |last=Teslenko |first=Maxim |author2=Dubrova, Elena |title=Design, Automation and Test in Europe |chapter=An Efficient Algorithm for Finding Double-Vertex Dominators in Circuit Graphs |url=http://dl.acm.org/citation.cfm?id=1049138 |pages=406β411 |year=2005 |doi=10.1109/DATE.2005.53 |isbn=9780769522883 |citeseerx=10.1.1.598.3053 |s2cid=10305833 }}</ref> In software systems, they are used for reducing the size of the test set in structural testing techniques such as statement and branch coverage.<ref>{{cite book |last=Dubrova |first=Elena |title=Design, Automation and Test in Europe |chapter=Structural Testing Based on Minimum Kernels |chapter-url=http://dl.acm.org/citation.cfm?id=1049294 |pages=1168β1173 |year=2005 |doi=10.1109/DATE.2005.284 |isbn=9780769522883 |citeseerx=10.1.1.583.5547 |s2cid=11439732 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)