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

Dominator Tree Certification and Divergent Spanning Trees

Published: 16 November 2015 Publication History

Abstract

How 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.

References

[1]
S. Allesina and A. Bodini. 2004. Who dominates whom in the ecosystem? Energy flow bottlenecks and cascading extinctions. Journal of Theoretical Biology 230, 3, 351--358.
[2]
S. Alstrup, D. Harel, P. W. Lauridsen, and M. Thorup. 1999. Dominators in linear time. SIAM Journal on Computing 28, 6, 2117--2132.
[3]
M. E. Amyeen, W. K. Fuchs, I. Pomeranz, and V. Boppana. 2001. Fault equivalence identification using redundancy information and static and dynamic extraction. In Proceedings of the 19th IEEE VLSI Test Symposium. 124--130.
[4]
F. S. Annexstein, K. A. Berman, T. Hsu, and R. P. Swaminathan. 2000. A multi-tree routing scheme using acyclic orientations. Theoretical Computer Science 240, 2, 487--494.
[5]
M. A. Bender, R. Cole, E. D. Demaine, M. Farach-Colton, and J. Zito. 2002. Two simplified algorithms for maintaining order in a list. In Proceedings of the 10th Annual European Symposium on Algorithms (ESA’02), Lecture Notes in Computer Science 2461, 152--164.
[6]
M. Blum and S. Kannan. 1995. Designing programs that check their work. Journal of the ACM 42, 1, 269--291.
[7]
A. L. Buchsbaum, L. Georgiadis, H. Kaplan, A. Rogers, R. E. Tarjan, and J. R. Westbrook. 2008. Linear-time algorithms for dominators and other path-evaluation problems. SIAM Journal on Computing 38, 4, 1533--1573.
[8]
A. L. Buchsbaum, H. Kaplan, A. Rogers, and J. R. Westbrook. 1998. A new, simpler linear-time dominators algorithm. ACM Transactions on Programming Languages and Systems 20, 6, 1265--96. Corrigendum in 27(3):383-7, 2005.
[9]
J. Cheriyan and S. N. Maheshwari. 1988. Finding nonseparating induced cycles and independent spanning trees in 3-connected graphs. Journal of Algorithms 9, 507--537.
[10]
J. Cheriyan and J. H. Reif. 1994. Directed s-t numberings, rubber bands, and testing digraph k-vertex connectivity. Combinatorica 14, 4, 435--451.
[11]
K. D. Cooper, T. J. Harvey, and K. Kennedy. 2006. A Simple, Fast Dominance Algorithm. Technical Report TR-06-38870. Rice Computer Science, Houston, TX.
[12]
S. Curran, O. Lee, and X. Yu. 2006. Finding four independent trees. SIAM Journal on Computing 35, 5, 507--537.
[13]
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. 1991. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems 13, 4, 451--490.
[14]
P. Dietz and D. Sleator. 1987. Two algorithms for maintaining order in a list. In Proceedings of the 19th ACM Symposium on Theory of Computing. 365--372.
[15]
J. Edmonds. 1970. Submodular functions, matroids, and certain polyhedra. Combinatorial Structures and their Applications 69--87.
[16]
J. Edmonds. 1972. Edge-disjoint branchings. Combinatorial Algorithms 91--96.
[17]
W. Fraczak, L. Georgiadis, A. Miller, and R. E. Tarjan. 2013. Finding dominators via disjoint set union. Journal of Discrete Algorithms 23, 2--20.
[18]
H. N. Gabow. 2013. A poset approach to dominator computation. Unpublished manuscript 2010, revised unpublished manuscript.
[19]
L. Georgiadis. 2008. Computing frequency dominators and related problems. In Proceedings of the 19th International Symposium on Algorithms and Computation. 704--715.
[20]
L. Georgiadis. 2010. Testing 2-vertex connectivity and computing pairs of vertex-disjoint s-t paths in digraphs. In Proceedings of the 37th International College on Automata, Languages, and Programming. 738--749.
[21]
L. Georgiadis. 2011. Approximating the smallest 2-vertex connected spanning subgraph of a directed graph. In Proceedings of the 19th European Symposium on Algorithms. 13--24.
[22]
L. Georgiadis, G. F. Italiano, L. Laura, and N. Parotsidis. 2015. 2-edge connectivity in directed graphs. In Proceedings of the 26th ACM-SIAM Symposium on Discrete Algorithms. 1988--2005.
[23]
L. Georgiadis, G. F. Italiano, L. Laura, and F. Santaroni. 2012. An experimental study of dynamic dominators. In Proceedings of the 20th European Symposium on Algorithms. 491--502.
[24]
L. Georgiadis, L. Laura, N. Parotsidis, and R. E. Tarjan. 2013. Dominator certification and independent spanning trees: An experimental study. In Proceedings of the 12th International Symposium on Experimental Algorithms. 284--295.
[25]
L. Georgiadis, L. Laura, N. Parotsidis, and R. E. Tarjan. 2014. Loop nesting forests, dominators, and applications. In Proceedings of the 13th International Symposium on Experimental Algorithms. 174--186.
[26]
L. Georgiadis and R. E. Tarjan. 2004. Finding dominators revisited. In Proceedings of the 15th ACM-SIAM Symposium on Discrete Algorithms. 862--871.
[27]
L. Georgiadis and R. E. Tarjan. 2005. Dominator tree verification and vertex-disjoint paths. In Proceedings of the 16th ACM-SIAM Symposium on Discrete Algorithms. 433--442.
[28]
L. Georgiadis and R. E. Tarjan. 2012. Dominators, directed bipolar orders, and independent spanning trees. In Proceedings of the 39th International College on Automata, Languages, and Programming. 375--386.
[29]
L. Georgiadis, R. E. Tarjan, and R. F. Werneck. 2006. Finding dominators in practice. Journal of Graph Algorithms and Applications 10, 1, 69--94.
[30]
M. Gomez-Rodriguez and B. Schölkopf. 2012. Influence maximization in continuous time diffusion networks. In 29th International Conference on Machine Learning (ICML). 313--320.
[31]
P. Havlak. 1997. Nesting of reducible and irreducible loops. ACM Transactions on Programming Languages and Systems 19, 4, 557--567.
[32]
M. S. Hecht and J. D. Ullman. 1974. Characterizations of reducible flow graphs. Journal of the ACM 21, 3 367--375.
[33]
A. Huck. 1994. Independent trees in graphs. Graphs and Combinatorics 10, 29--45.
[34]
A. Huck. 1995. Disproof of a conjecture about independent branchings in k-connected directed graphs. Journal of Graph Theory 20, 2, 235--239.
[35]
A. Huck. 1999a. Independent branchings in acyclic digraphs. Discrete Math 199 (1999), 245--249.
[36]
A. Huck. 1999b. Independent trees and branchings in planar multigraphs. Graphs and Combinatorics 15, 211--220.
[37]
A. Itai and M. Rodeh. 1988. The multi-tree approach to reliability in distributed networks. Information and Computation 79, 1, 43--59.
[38]
A. Itai and A. Zehavi. 1989. Three tree-paths. Journal of Graph Theory 13, 175--188.
[39]
G. F. Italiano, L. Laura, and F. Santaroni. 2012. Finding strong bridges and strong articulation points in linear time. Theoretical Computer Science 447, 0, 74--84.
[40]
R. Jaberi. 2014a. Computing the 2-blocks of directed graphs. CoRR abs/1407.6178 (2014).
[41]
R. Jaberi. 2014b. On computing the 2-vertex-connected components of directed graphs. CoRR abs/1401.6000.
[42]
D. E. Knuth. 1997. The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd ed.). Addison Wesley Longman Publishing Co., Inc., Redwood City, CA.
[43]
D. E. Knuth and J. L. Szwarcfiter. 1974. A structured program to generate all topological sorting arrangements. Information Processing Letters 2, 6, 153--157.
[44]
T. Lengauer and R. E. Tarjan. 1979. A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages and Systems 1, 1, 121--141.
[45]
W. D. Maurer. 2007. Generalized structured programs and loop trees. Science of Computer Programming 67, 2-3, 223--246.
[46]
E. K. Maxwell, G. Back, and N. Ramakrishnan. 2010. Diagnosing memory leaks using graph mining on heap dumps. In Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD’10). 115--124.
[47]
R. M. McConnell, K. Mehlhorn, S. Näher, and P. Schweitzer. 2011. Certifying algorithms. Computer Science Review 5, 2, 119--161.
[48]
K. Menger. 1927. Zur allgemeinen kurventheorie. Fundamenta Mathematicae 10, 96--115.
[49]
J. Plehn. 1991. Über die Existenz und das Finden von Subgraphen. Ph.D. Dissertation. University of Bonn, Bonn, Germany.
[50]
L. Quesada, P. Van Roy, Y. Deville, and R. Collet. 2006. Using dominators for solving constrained path problems. In Proceedings of the 8th International Conference on Practical Aspects of Declarative Languages. 73--87.
[51]
G. Ramalingam. 1999. Identifying loops in almost linear time. ACM Transactions on Programming Languages and Systems 21, 2, 175--188.
[52]
G. Ramalingam. 2002. On loops, dominators, and dominance frontiers. ACM Transactions on Programming Languages and Systems 24, 5, 455--490.
[53]
G. Ramalingam and T. Reps. 1994. An incremental algorithm for maintaining the dominator tree of a reducible flowgraph. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. 287--296.
[54]
V. C. Sreedhar, G. R. Gao, and Y. Lee. 1997. Incremental computation of dominator trees. ACM Transactions on Programming Languages and Systems 19, 2, 239--252.
[55]
V. C. Sreedhar, G. R. Gao, and Y.-F. Lee. 1996. Identifying loops using DJ graphs. ACM Transactions on Programming Languages and Systems 18, 6, 649--658.
[56]
B. Steensgaard. 1993. Sequentializing program dependence graphs for irreducible programs. Technical Report MSR-TR-93-14. Microsoft Research, Redmond, WA.
[57]
R. E. Tarjan. 1972. Depth-first search and linear graph algorithms. SIAM Journal on Computing 1, 2, 146--60.
[58]
R. E. Tarjan. 1974a. Finding dominators in directed graphs. SIAM Journal on Computing 3, 1, 62--89.
[59]
R. E. Tarjan. 1974b. Testing flow graph reducibility. Journal of Computer and System Sciences 9, 3, 355--365.
[60]
R. E. Tarjan. 1975. Efficiency of a good but not linear set union algorithm. Journal of the ACM 22, 2, 215--225.
[61]
R. E. Tarjan. 1976. Edge-disjoint spanning trees and depth-first search. Acta Informatica 6, 2, 171--85.
[62]
R. E. Tarjan. 1981. Fast algorithms for solving path problems. Journal of the ACM 28, 3, 594--614.
[63]
T. Tholey. 2012. Linear time algorithms for two disjoint paths problems on directed acyclic graphs. Theoretical Computer Science 465, 35--48.
[64]
R. W. Whitty. 1987. Vertex-disjoint paths and edge-disjoint branchings in directed graphs. Journal of Graph Theory 11, 349--358.
[65]
J. Zhao and S. Zdancewic. 2012. Mechanized verification of computing dominators for formalizing compilers. In Proceedings of the 2nd International Conference on Certified Programs and Proofs. Springer, 27--42.

Cited By

View all
  • (2024)Computing the 3-Edge-Connected Components of Directed Graphs in Linear Time2024 IEEE 65th Annual Symposium on Foundations of Computer Science (FOCS)10.1109/FOCS61266.2024.00015(62-85)Online publication date: 27-Oct-2024
  • (2023)Efficient computation of arbitrary control dependenciesTheoretical Computer Science10.1016/j.tcs.2023.114029969(114029)Online publication date: Aug-2023
  • (2021)Planar reachability under single vertex or edge failuresProceedings of the Thirty-Second Annual ACM-SIAM Symposium on Discrete Algorithms10.5555/3458064.3458227(2739-2758)Online publication date: 10-Jan-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Algorithms
ACM Transactions on Algorithms  Volume 12, Issue 1
Special Issue on SODA'12 and Regular Papers
February 2016
243 pages
ISSN:1549-6325
EISSN:1549-6333
DOI:10.1145/2846103
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 November 2015
Accepted: 01 April 2015
Revised: 01 March 2015
Received: 01 March 2013
Published in TALG Volume 12, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Connectivity
  2. depth-first search
  3. directed graph
  4. dominators
  5. dynamic list
  6. flow graph
  7. global code optimization
  8. program certification

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • NSF
  • AFOSR MURI

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)38
  • Downloads (Last 6 weeks)2
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Computing the 3-Edge-Connected Components of Directed Graphs in Linear Time2024 IEEE 65th Annual Symposium on Foundations of Computer Science (FOCS)10.1109/FOCS61266.2024.00015(62-85)Online publication date: 27-Oct-2024
  • (2023)Efficient computation of arbitrary control dependenciesTheoretical Computer Science10.1016/j.tcs.2023.114029969(114029)Online publication date: Aug-2023
  • (2021)Planar reachability under single vertex or edge failuresProceedings of the Thirty-Second Annual ACM-SIAM Symposium on Discrete Algorithms10.5555/3458064.3458227(2739-2758)Online publication date: 10-Jan-2021
  • (2020)Strong Connectivity in Directed Graphs under Failures, with ApplicationsSIAM Journal on Computing10.1137/19M125853049:5(865-926)Online publication date: 1-Sep-2020
  • (2020)A Fast Verified Liveness Analysis in SSA FormAutomated Reasoning10.1007/978-3-030-51054-1_19(324-340)Online publication date: 1-Jul-2020
  • (2019)Approximating the Smallest 2-Vertex Connected Spanning Subgraph of a Directed GraphTheoretical Computer Science10.1016/j.tcs.2019.09.040Online publication date: Sep-2019
  • (2018)2-vertex connectivity in directed graphsInformation and Computation10.1016/j.ic.2018.02.007261(248-264)Online publication date: Aug-2018
  • (2018)Fast Computation of Arbitrary Control DependenciesFundamental Approaches to Software Engineering10.1007/978-3-319-89363-1_12(207-224)Online publication date: 4-Apr-2018
  • (2017)Vaccination allocation in large dynamic networksJournal of Big Data10.1186/s40537-016-0061-44:1Online publication date: 13-Jan-2017
  • (2017)Surviving in directed graphs: a quasi-polynomial-time polylogarithmic approximation for two-connected directed Steiner treeProceedings of the 49th Annual ACM SIGACT Symposium on Theory of Computing10.1145/3055399.3055445(420-428)Online publication date: 19-Jun-2017
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media