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

@article{Bloem2000AnAF, title={An Algorithm for Strongly Connected Component Analysis in n log n Symbolic Steps}, author={Roderick Bloem and Harold N. Gabow and F. Somenzi}, journal={Formal Methods in System Design}, year={2000}, volume={28}, pages={37-56} }

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…

## 136 Citations

### Computing strongly connected components in a linear number of symbolic steps

- Computer ScienceSODA '03
- 2003

An algorithm that computes in a linear number of symbolic steps the strongly connected components of a graph represented by an Ordered Binary Decision Diagram (OBDD) matches the complexity of Tarjan's algorithm operating on explicit data structures.

### An efficient algorithm for computing bisimulation equivalence

- Computer ScienceTheor. Comput. Sci.
- 2004

### Lower Bounds for Symbolic Computation on Graphs: Strongly Connected Components, Liveness, Safety, and Diameter

- Computer Science, MathematicsSODA
- 2018

Lower bounds on the number of symbolic operations are given for basic graph problems such as the computation of the strongly connected components and of the approximate diameter as well as for fundamental problems in model checking such as safety, liveness, and co-liveness.

### Antichains for the Automata-Based Approach to Model-Checking

- Computer ScienceLog. Methods Comput. Sci.
- 2009

The existence of simulation pre-orders that can be exploited to efficiently evaluate fixed points on the automata defined during the complementation step are established and the performance of the algorithm to check the universality of Buchi automata is evaluated using the random automaton model recently proposed by Tabakov and Vardi.

### Symbolic Graphs: Linear Solutions to Connectivity Related Problems

- Computer ScienceAlgorithmica
- 2007

A symbolic algorithmic strategy, based on the new notion of spine-set, that is general enough to be the engine of linear symbolic step algorithms for both strongly connected components and biconnected components is devised.

### Is There a Best Symbolic Cycle-Detection Algorithm?

- Computer ScienceTACAS
- 2001

It is concluded that model checkers need to implement at least two generic cycle-detection algorithms: the traditional Emerson-Lei algorithm and one that evolved from this study, originally due to Hojati et al.

### On the Complexity of Parity Word Automata

- Computer ScienceFoSSaCS
- 2001

It is shown that the special structure of the acceptance condition of parity automata can be used in order to solve the nonemptiness problem directly, with a dynamic graph algorithm of complexity O((n + m) log k).

### Rank-Based Symbolic Bisimulation (and Model Checking)

- Computer Science, MathematicsElectron. Notes Theor. Comput. Sci.
- 2002

### Analysis of Symbolic SCC Hull Algorithms

- Computer ScienceFMCAD
- 2002

An early termination check is proposed that allows the Lockstep algorithm to detect the existence of a fair cycle before an entire SCC has been examined and has optimal complexity among those that can be derived from GSH.

### On symbolic OBDD-based algorithms for the minimum spanning tree problem

- Computer Science, MathematicsTheor. Comput. Sci.
- 2010

## References

SHOWING 1-10 OF 35 REFERENCES

### Graph-Based Algorithms for Boolean Function Manipulation

- Computer ScienceIEEE Transactions on Computers
- 1986

Experimental results from applying a new data structure for representing Boolean functions and an associated set of manipulation algorithms to problems in logic design verification demonstrate the practicality of this approach.

### Efficient omega-Regular Language Containment

- Computer ScienceCAV
- 1992

A few generalpurpose operators on graphs are introduced and used to construct efficient algorithms for the product machine of the system and specification and fast special checks are applied to find bad cycles early on.

### Depth-First Search and Linear Graph Algorithms

- MathematicsSIAM J. Comput.
- 1972

The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples. An improved version of an algorithm for finding the strongly connected components…

### A Comparative Study of Symbolic Algorithms for the Computation of Fair Cycles

- Computer ScienceFMCAD
- 2000

A taxonomy of techniques for fair cycle detection is presented and it is indicated that the Emerson-Lei procedure is the fastest, but other algorithms tend to generate shorter counter-examples.

### Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning

- Computer ScienceSWAT
- 1996

This paper shows how a general technique, called lock-step search, used in dynamic graph algorithms, can be used to improve the running time of two problems arising in program verification and…

### Implicit enumeration of strongly connected components

- Computer Science1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051)
- 1999

This paper presents a binary decision diagram (BDD) based implicit algorithm to compute all maximal strongly connected components (SCCs) of directed graphs that dramatically outperforms the only existing implicit method which must compute the transitive closure of the adjacency matrix of the graphs.

### Testing Language Containment for omega-Automata Using BDD's

- Computer ScienceInf. Comput.
- 1995

Two new BDD-based language containment checks in COSPAN are implemented, one with a time advantage and the other with a space advantage, which have increased significantly the size of system models which can be verified.

### Efficient Decision Procedures for Model Checking of Linear Time Logic Properties

- Computer ScienceCAV
- 1999

The preliminary experimental results suggest that the new algorithm for LTL model checking is quite efficient, and for properties that can be expressed in both CTL and LTL, the algorithm is competitive with the CTL modelchecking algorithm.

### Efficient generation of counterexamples and witnesses in symbolic model checking

- Computer ScienceDAC '95
- 1995

An efficient algorithm to produce counter-examples and witnesses for symbolic model checking algorithms is described, used in the SMV model checker and works quite well in practice.

### An On-Line Edge-Deletion Problem

- Computer ScienceJACM
- 1981

An algorithm is presented which maintains a data structure in which each question is answered in constant time and for which the total time involved in answering q questions and maintaining the data structure is O(q + I VI) lED.