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

Article

- 227 Downloads
- 21 Citations

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

## Keywords

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

Unable to display preview. Download preview PDF.

## References

- 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.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.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.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.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.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.E.M. Clarke, O. Grumberg, and D.A. Peled,
*Model Checking*, MIT Press, Cambridge, MA, 1999.Google Scholar - 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.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.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.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.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.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.G.H. Hardy, J.E. Littlewood, and G. Pólya,
*Inequalities*, Cambridge University Press, 1952.Google Scholar - 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.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.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.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.R.P. Kurshan,
*Computer-Aided Verification of Coordinating Processes*, Princeton University Press, Princeton, NJ, 1994.Google Scholar - 20.K. McMillan, “Class project on BDD-based verification,”
*Private Communication*, E.M. Clarke, 1987.Google Scholar - 21.K.L. McMillan,
*Symbolic Model Checking*, Kluwer Academic Publishers, Boston, MA, 1994.Google Scholar - 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.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.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.R. Tarjan, “Depth first search and linear graph algorithms,”
*SIAM journal on Computing*, Vol. 1, pp. 146–160, 1972.CrossRefzbMATHMathSciNetGoogle Scholar - 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.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.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