Symbolic Computation of Strongly Connected Components Using Saturation
Symbolic Computation of Strongly Connected Components Using Saturation
复制标题
使用饱和度的强连通分量的符号计算
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
Gianfranco Ciardo
中科院分区:
文献类型:
--
作者:
Yang Zhao;Gianfranco Ciardo
Finding strongly connected components (SCCs) in the state-space of discrete-state models is a critical task in formal verification of LTL and fair CTL properties, but the potentially huge number of reachable states and SCCs constitutes a formidable challenge. This paper is concerned with comput- ing the sets of states in SCCs or terminal SCCs of asynchronous systems. Because of its advantages in many applications, we employsaturationon two previously proposed approaches: the Xie-Beerel algorithm and transitive closure. First, saturation speeds up state-space exploration when computing each SCC in the Xie-Beerel algorithm. Then, our main contribution is a novel algorithm to compute the transitive closure using saturation. Experimental results indicate that our improved algorithms achieve a clear speedup over previous algorithms in some cases. With the help of the new transitive closure computation algorithm, up to 10 150 SCCs can be explored within a few seconds. traditional depth-first search, motivating the study of symbolic computation of SCCs. In this paper, the objective is to build the set of states in non-trivial SCCs. The structure of SCCs in a graph can be captured by itsSCC quotient graph, obtained by collapsing each SCC into a single node. This resulting graph is acyclic, and thus defines a partial order on the SCCs.Terminal SCCsare leaf nodes in the SCC quotient graph. In the context of large scale Markov chain analysis, an interesting problem is to partition the state space intorecurrentstates, which belong to terminal SCCs, andtransientstates, which are not recurrent. The main difficulties in SCC computation are: having to explore huge state spaces and, potentially, having to deal with a large number of (terminal) SCCs. The first problem is the primary obstacle to formal verification due to the obvious limitation of computational resources. Traditional BDD-based approaches employimageandpreimagecomputations on state-space exploration and, while quite suc- cessful in fully synchronous systems, they do not work as well for asynchronous systems. The second problem constitutes a bottleneck for one class of previous work, which enumerates SCCs one by one. Section 2.3 discusses this problem in more detail. This paper addresses the computation of states in SCCs and terminal SCCs. We propose two ap- proaches based on two previous ideas: theXie-Beerel algorithmandtransitive closure. Saturation, which schedules thefiring of events according to their locality, is employed to overcome the complexity of state- space exploration. Pointing to the second difficulty, our efforts are devoted to an algorithm based on the transitive closure, which does not suffer from a huge numbers of SCCs but, as previously proposed, often requires large amounts of runtime and memory. We then propose to use a saturation-based algorithm to compute the transitive closure, enabling it to be a practical method of SCC computation for complex systems. We also present an algorithm for computing recurrent states based on the transitive closure.