Skip to main content

Dominator Tree Certification and Divergent Spanning Trees

Author(s): Georgiadis, Loukas; Tarjan, Robert E

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr1k544
Full metadata record
DC FieldValueLanguage
dc.contributor.authorGeorgiadis, Loukas-
dc.contributor.authorTarjan, Robert E-
dc.date.accessioned2021-10-08T19:47:32Z-
dc.date.available2021-10-08T19:47:32Z-
dc.date.issued2015-11en_US
dc.identifier.citationGeorgiadis, Loukas, and Robert E. Tarjan. "Dominator Tree Certification and Divergent Spanning Trees." ACM Transactions on Algorithms 12, no. 1 (2015): 11:1-11:42. doi:10.1145/2764913en_US
dc.identifier.issn1549-6325-
dc.identifier.urihttps://arxiv.org/pdf/1210.8303v3.pdf-
dc.identifier.urihttp://arks.princeton.edu/ark:/88435/pr1k544-
dc.description.abstractHow does one verify that the output of a complicated program is correct? One can formally prove that the program is correct, but this may be beyond the power of existing methods. Alternatively, one can check that the output produced for a particular input satisfies the desired input--output relation by running a checker on the input--output pair. Then one only needs to prove the correctness of the checker. For some problems, however, even such a checker may be too complicated to formally verify. There is a third alternative: augment the original program to produce not only an output but also a correctness certificate, with the property that a very simple program (whose correctness is easy to prove) can use the certificate to verify that the input--output pair satisfies the desired input--output relation. We consider the following important instance of this general question: How does one verify that the dominator tree of a flow graph is correct? Existing fast algorithms for finding dominators are complicated, and even verifying the correctness of a dominator tree in the absence of additional information seems complicated. We define a correctness certificate for a dominator tree, show how to use it to easily verify the correctness of the tree, and show how to augment fast dominator-finding algorithms so that they produce a correctness certificate. We also relate the dominator certificate problem to the problem of finding divergent spanning trees in a flow graph, and we develop algorithms to find such trees. All our algorithms run in linear time. Previous algorithms apply just to the special case of only trivial dominators, and they take at least quadratic time.en_US
dc.format.extent11:1 - 11:42en_US
dc.language.isoen_USen_US
dc.relation.ispartofACM Transactions on Algorithmsen_US
dc.rightsAuthor's manuscripten_US
dc.titleDominator Tree Certification and Divergent Spanning Treesen_US
dc.typeJournal Articleen_US
dc.identifier.doi10.1145/2764913-
dc.identifier.eissn1549-6333-
pu.type.symplectichttp://www.symplectic.co.uk/publications/atom-terms/1.0/journal-articleen_US

Files in This Item:
File Description SizeFormat 
DominatorTreeCertificationDivergentSpanningTree.pdf518.51 kBAdobe PDFView/Download


Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.