## Abstract

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.

This is a preview of subscription content, access via your institution.

## References

R.K. Brayton et al.,

*VIS. In Formal Methods in Computer Aided Design*, Springer-Verlag, Berlin, LNCS 1166, 1996, pp. 248–256.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, .R.E. Bryant, “Graph-based algorithms for Boolean function manipulation,”

*IEEE Transactions on Computers*, vol. C-35, No. 8, pp. 677–691, 1986.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.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.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.E.M. Clarke, O. Grumberg, and D.A. Peled,

*Model Checking*, MIT Press, Cambridge, MA, 1999.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.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.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.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.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.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.G.H. Hardy, J.E. Littlewood, and G. Pólya,

*Inequalities*, Cambridge University Press, 1952.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.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.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.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.R.P. Kurshan,

*Computer-Aided Verification of Coordinating Processes*, Princeton University Press, Princeton, NJ, 1994.K. McMillan, “Class project on BDD-based verification,”

*Private Communication*, E.M. Clarke, 1987.K.L. McMillan,

*Symbolic Model Checking*, Kluwer Academic Publishers, Boston, MA, 1994.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.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.R.S. Streett, “Propositional dynamic logic of looping and converse is elementarily decidable,”

*Information and Control*, Vol. 54, pp. 121–141, 1982.R. Tarjan, “Depth first search and linear graph algorithms,”

*SIAM journal on Computing*, Vol. 1, pp. 146–160, 1972.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.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.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.

## Author information

### Authors and Affiliations

### Corresponding author

## Additional information

This work was supported in part by SRC contract 98-DJ-620 and NSF grant CCR-99-71195.

This work was done while the author was at the University of Colorado at Boulder.

## Rights and permissions

## About this article

### Cite this article

Bloem, R., Gabow, H.N. & Somenzi, F. An Algorithm for Strongly Connected Component Analysis in *n* log *n* Symbolic Steps.
*Form Method Syst Des* **28**, 37–56 (2006). https://doi.org/10.1007/s10703-006-4341-z

Issue Date:

DOI: https://doi.org/10.1007/s10703-006-4341-z

### Keywords

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