Skip to main content

Loop Nesting Forests, Dominators, and Applications

  • Conference paper
Experimental Algorithms (SEA 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8504))

Included in the following conference series:

Abstract

Loop nesting forests and dominator trees are important tools in program optimization and code generation, and they have applications in other diverse areas. In this work we first present carefully engineered implementations of efficient algorithms for computing a loop nesting forest of a given directed graph, including a very efficient algorithm that computes the forest in a single depth-first search. Then we revisit the problem of computing dominators and present efficient implementations of the algorithms recently proposed by Fraczak et al. [12], which include an algorithm for acyclic graphs and an algorithm that computes both the dominator tree and a loop nesting forest. We also propose a new algorithm than combines the algorithm of Fraczak et al. for acyclic graphs with the algorithm of Lengauer and Tarjan. Finally, we provide fast algorithms for the following related problems: computing bridges and testing 2-edge connectivity, verifying dominators and testing 2-vertex connectivity, and computing a low-high order and two independent spanning trees. We exhibit the efficiency of our algorithms experimentally on large graphs taken from a variety of application areas.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)

    Google Scholar 

  2. Aho, A.V., Ullman, J.D.: Principles of Compilers Design. Addison-Wesley (1977)

    Google Scholar 

  3. Alstrup, S., Harel, D., Lauridsen, P.W., Thorup, M.: Dominators in linear time. SIAM Journal on Computing 28(6), 2117–2132 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  4. Amyeen, M.E., Fuchs, W.K., Pomeranz, I., Boppana, V.: Fault equivalence identification using redundancy information and static and dynamic extraction. In: Proceedings of the 19th IEEE VLSI Test Symposium (March 2001)

    Google Scholar 

  5. Buchsbaum, A.L., Georgiadis, L., Kaplan, H., Rogers, A., Tarjan, R.E., Westbrook, J.R.: Linear-time algorithms for dominators and other path-evaluation problems. SIAM Journal on Computing 38(4), 1533–1573 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  6. Buchsbaum, A.L., Kaplan, H., Rogers, A., Westbrook, J.R.: A new, simpler linear-time dominators algorithm. ACM Transactions on Programming Languages and Systems 20(6), 1265–1296 (1998); Corrigendum in 27(3), 383–387 (2005)

    Google Scholar 

  7. CAD Benchmarking Lab. ISCAS 1989 benchmark information, http://www.cbl.ncsu.edu/www/CBL_Docs/iscas89.html

  8. Cooper, K.D., Harvey, T.J., Kennedy, K.: A simple, fast dominance algorithm. Software Practice & Experience 4, 110 (2001)

    Google Scholar 

  9. Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems 13(4), 451–490 (1991)

    Article  Google Scholar 

  10. Demetrescu, C., Goldberg, A.V., Johnson, D.S.: 9th DIMACS Implementation Challenge: Shortest Paths (2007), http://www.dis.uniroma1.it/~challenge9/

  11. Firmani, D., Italiano, G.F., Laura, L., Orlandi, A., Santaroni, F.: Computing strong articulation points and strong bridges in large scale graphs. In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 195–207. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  12. Fraczak, W., Georgiadis, L., Miller, A., Tarjan, R.E.: Finding dominators via disjoint set union. Journal of Discrete Algorithms 23, 2–20 (2013)

    Article  MathSciNet  Google Scholar 

  13. Gabow, H.N.: Applications of a poset representation to edge connectivity and graph rigidity. In: Proc. 32th IEEE Symp. on Foundations of Computer Science, pp. 812–821 (1991)

    Google Scholar 

  14. Gabow, H.N.: The minimal-set poset for edge connectivity (2013) (unpublished manuscript)

    Google Scholar 

  15. Gabow, H.N.: A poset approach to dominator computation (2013) (unpublished manuscript 2010, revised unpublished manuscript)

    Google Scholar 

  16. Gabow, H.N., Tarjan, R.E.: A linear-time algorithm for a special case of disjoint set union. Journal of Computer and System Sciences 30(2), 209–221 (1985)

    Article  MATH  MathSciNet  Google Scholar 

  17. Georgiadis, L.: Computing frequency dominators and related problems. In: Hong, S.-H., Nagamochi, H., Fukunaga, T. (eds.) ISAAC 2008. LNCS, vol. 5369, pp. 704–715. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  18. Georgiadis, L.: Testing 2-vertex connectivity and computing pairs of vertex-disjoint s-t paths in digraphs. In: Abramsky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) ICALP 2010. LNCS, vol. 6198, pp. 738–749. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  19. Georgiadis, L.: Approximating the smallest 2-vertex connected spanning subgraph of a directed graph. In: Demetrescu, C., Halldórsson, M.M. (eds.) ESA 2011. LNCS, vol. 6942, pp. 13–24. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  20. Georgiadis, L., Laura, L., Parotsidis, N., Tarjan, R.E.: Dominator certification and independent spanning trees: An experimental study. In: Bonifaci, V., Demetrescu, C., Marchetti-Spaccamela, A. (eds.) SEA 2013. LNCS, vol. 7933, pp. 284–295. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  21. Georgiadis, L., Tarjan, R.E.: Finding dominators revisited. In: Proc. 15th ACM-SIAM Symp. on Discrete Algorithms, pp. 862–871 (2004)

    Google Scholar 

  22. Georgiadis, L., Tarjan, R.E.: Dominator tree verification and vertex-disjoint paths. In: Proc. 16th ACM-SIAM Symp. on Discrete Algorithms, pp. 433–442 (2005)

    Google Scholar 

  23. Georgiadis, L., Tarjan, R.E.: Dominator tree certification and independent spanning trees. CoRR, abs/1210.8303 (2012)

    Google Scholar 

  24. Georgiadis, L., Tarjan, R.E.: Dominators, directed bipolar orders, and independent spanning trees. In: Proc. 39th Int’l. Coll. on Automata, Languages, and Programming, pp. 375–386 (2012)

    Google Scholar 

  25. Georgiadis, L., Tarjan, R.E., Werneck, R.F.: Finding dominators in practice. Journal of Graph Algorithms and Applications (JGAA) 10(1), 69–94 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  26. Havlak, P.: Nesting of reducible and irreducible loops. ACM Transactions on Programming Languages and Systems 19(4), 557–567 (1997)

    Article  Google Scholar 

  27. Italiano, G.F., Laura, L., Santaroni, F.: Finding strong bridges and strong articulation points in linear time. Theoretical Computer Science 447, 74–84 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  28. Lengauer, T., Tarjan, R.E.: A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages and Systems 1(1), 121–141 (1979)

    Article  MATH  Google Scholar 

  29. Leskovec, J.: Stanford large network dataset collection (2009), http://snap.stanford.edu

  30. Mitchell, N.: The runtime structure of object ownership. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 74–98. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  31. Ramalingam, G.: On loops, dominators, and dominance frontiers. ACM Transactions on Programming Languages and Systems 24(5), 455–490 (2002)

    Article  Google Scholar 

  32. Tarjan, R.E.: Edge-disjoint spanning trees, dominators, and depth-first search. Technical report, Stanford University, Stanford, CA, USA (1974)

    Google Scholar 

  33. Tarjan, R.E.: Efficiency of a good but not linear set union algorithm. Journal of the ACM 22(2), 215–225 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  34. Tarjan, R.E.: Edge-disjoint spanning trees and depth-first search. Acta Informatica 6(2), 171–185 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  35. Tarjan, R.E.: Applications of path compression on balanced trees. Journal of the ACM 26(4), 690–715 (1979)

    Article  MATH  MathSciNet  Google Scholar 

  36. Tarjan, R.E.: Fast algorithms for solving path problems. Journal of the ACM 28(3), 594–614 (1981)

    Article  MATH  MathSciNet  Google Scholar 

  37. Tarjan, R.E., van Leeuwen, J.: Worst-case analysis of set union algorithms. Journal of the ACM 31(2), 245–281 (1984)

    Article  MATH  Google Scholar 

  38. The WebGraph Framework Home Page, http://webgraph.dsi.unimi.it/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Georgiadis, L., Laura, L., Parotsidis, N., Tarjan, R.E. (2014). Loop Nesting Forests, Dominators, and Applications. In: Gudmundsson, J., Katajainen, J. (eds) Experimental Algorithms. SEA 2014. Lecture Notes in Computer Science, vol 8504. Springer, Cham. https://doi.org/10.1007/978-3-319-07959-2_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-07959-2_15

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-07958-5

  • Online ISBN: 978-3-319-07959-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics