Formal Methods in System Design

, Volume 28, Issue 1, pp 37–56 | Cite as

An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps

  • Roderick BloemEmail author
  • Harold N. Gabow
  • Fabio Somenzi


We present a symbolic algorithm for strongly connected component decomposition. The algorithm performs Θ(n log n) image and preimage computations in the worst case, where n is the number of nodes in the graph. This is an improvement over the previously known quadratic bound. The algorithm can be used to decide emptiness of Büchi automata with the same complexity bound, improving Emerson and Lei's quadratic bound, and emptiness of Streett automata, with a similar bound in terms of nodes. It also leads to an improved procedure for the generation of nonemptiness witnesses.


symbolic algorithms strongly connected components binary decision diagrams language emptiness Büchi automata Streett automata model checking depth-first search breadth-first search 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R.K. Brayton et al., VIS. In Formal Methods in Computer Aided Design, Springer-Verlag, Berlin, LNCS 1166, 1996, pp. 248–256.Google Scholar
  2. 2.
    R. Bloem, K. Ravi, and F. Somenzi, “Efficient decision procedures for model checking of linear time logic properties,” in N. Halbwachs and D. Peled (Eds.), Eleventh Conference on Computer Aided Verification (CAV'99), Springer-Verlag, Berlin, LNCS 1633, 1999, pp. 222–235, .Google Scholar
  3. 3.
    R.E. Bryant, “Graph-based algorithms for Boolean function manipulation,” IEEE Transactions on Computers, vol. C-35, No. 8, pp. 677–691, 1986.Google Scholar
  4. 4.
    J.R. Büchi, “On a decision method in restricted second order arithmetic,” in Proceedings of the 1960 International Congress on Logic, Methodology, and Philosophy of Science, Stanford University Press, 1962, pp 1–11.Google Scholar
  5. 5.
    E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite state concurrent systems using temporal logic specifications,” ACM Transaction on Programming Languages and Systems, Vol. 8, No. 2, pp. 244–263, 1986.Google Scholar
  6. 6.
    E.M. Clarke, O. Grumberg, K. McMillan, and X. Zhao, “Efficient generation of counterexamples and witnesses in symbolic model checking,” in Proceedings of the Design Automation Conference, San Francisco, CA, 1995, pp. 427–432.Google Scholar
  7. 7.
    E.M. Clarke, O. Grumberg, and D.A. Peled, Model Checking, MIT Press, Cambridge, MA, 1999.Google Scholar
  8. 8.
    E.A. Emerson and C.-L. Lei, “Efficient model checking in fragments of the propositional mu-calculus,” in Proceedings of the First Annual Symposium of Logic in Computer Science, 1986, pp. 267–278.Google Scholar
  9. 9.
    E.A. Emerson and C. Lei, “Modalities for model checking: Branching time logic strikes back,” Science of Computer Programming, Vol. 8, pp. 275–306, 1987.MathSciNetGoogle Scholar
  10. 10.
    S. Even and Y. Shiloach, “An on-line edge-deletion problem,” Journal of the Association for Computing Machinery, Vol. 28, No. 1, pp. 1–4, 1981.MathSciNetGoogle Scholar
  11. 11.
    R. Gentilini, C. Piazza, and A. Policriti, “Computing strongly connected componenets in a linear number of symbolic steps, in Symposium on Discrete Algorithms, Baltimore, MD, 2003.Google Scholar
  12. 12.
    R.H. Hardin, Z. Har'El, and R.P. Kurshan, “COSPAN,” in T. Henzinger and R. Alur (Eds.), Eighth Conference on Computer Aided Verification (CAV'96), Springer-Verlag, Berlin, LNCS 1102, 1996, pp. 423–427.Google Scholar
  13. 13.
    R.H. Hardin, R.P. Kurshan, S.K. Shukla, and M.Y. Vardi, “A new heuristic for bad cycle detection using BDDs,” in O. Grumberg (Eds.), Ninth Conference on Computer Aided Verification (CAV'97), Springer-Verlag, Berlin, LNCS 1254, 1997, pp. 268–278.Google Scholar
  14. 14.
    G.H. Hardy, J.E. Littlewood, and G. Pólya, Inequalities, Cambridge University Press, 1952.Google Scholar
  15. 15.
    R. Hojati, T.R. Shiple, R. Brayton, and R. Kurshan, “A unified approach to language containment and fair CTL model checking,” in Proceedings of the Design Automation Conference, 1993, pp. 475–481.Google Scholar
  16. 16.
    M.R. Henzinger and J.A. Telle, “Faster algorithms for the nonemptiness of Streett automata and for communication protocol pruning,” in R. Karlsson and A. Lingas (Eds.), Algorithm Theory: SWAT'96, Springer-Verlag, Berlin, LNCS 1097, 1996, pp. 16–27.Google Scholar
  17. 17.
    R. Hojati, H. Touati, R.P. Kurshan, and R. K. Brayton, “Efficient ω-regular language containment,” in Computer Aided Verification, Montréal, Canada, 1992, pp. 371–382.Google Scholar
  18. 18.
    Y. Kesten, A. Pnueli, and L.-O. Raviv, “Algorithmic verification of linear temporal logic specifications,” in International Colloquium on Automata, Languages, and Programming (ICALP-98), Berlin, Springer, LNCS 1443, 1998, pp. 1–16.Google Scholar
  19. 19.
    R.P. Kurshan, Computer-Aided Verification of Coordinating Processes, Princeton University Press, Princeton, NJ, 1994.Google Scholar
  20. 20.
    K. McMillan, “Class project on BDD-based verification,” Private Communication, E.M. Clarke, 1987.Google Scholar
  21. 21.
    K.L. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, Boston, MA, 1994.Google Scholar
  22. 22.
    K.L. McMillan, “Verification of infinite state systems by compositional model checking,” in Correct Hardware Design and Verification Methods (CHARME'99), Berlin, Springer-Verlag. LNCS 1703, 1999, pp. 219–233.Google Scholar
  23. 23.
    K. Ravi, R. Bloem, and F. Somenzi, “A comparative study of symbolic algorithms for the computation of fair cycles,” in W.A. Hunt, Jr. and S.D. Johnson (Eds.), Formal Methods in Computer Aided Design, Springer-Verlag, LNCS 1954, 2000, pp. 143–160.Google Scholar
  24. 24.
    R.S. Streett, “Propositional dynamic logic of looping and converse is elementarily decidable,” Information and Control, Vol. 54, pp. 121–141, 1982.CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    R. Tarjan, “Depth first search and linear graph algorithms,” SIAM journal on Computing, Vol. 1, pp. 146–160, 1972.CrossRefzbMATHMathSciNetGoogle Scholar
  26. 26.
    H.J. Touati, R.K. Brayton, and R.P. Kurshan, “Testing language containment for ω-automata using BDD's,” Information and Computation, Vol. 118, No. 1, pp. 101–109, 1995.CrossRefMathSciNetGoogle Scholar
  27. 27.
    A. Xie and P. A. Beerel, “Implicit enumeration of strongly connected components,” in Proceedings of the International Conference on Computer-Aided Design, San Jose, CA, 1999, pp 37–40.Google Scholar
  28. 28.
    A. Xie and P. A. Beerel, “Implicit enumeration of strongly connected components and an application to formal verification,” IEEE Transactions on Computer-Aided Design, Vol. 19, No. 10, pp. 1225–1230, 2000.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2006

Authors and Affiliations

  • Roderick Bloem
    • 1
    Email author
  • Harold N. Gabow
    • 2
  • Fabio Somenzi
    • 2
  1. 1.Graz University of TechnologyAustria
  2. 2.University of ColoradoBoulder

Personalised recommendations