Abstract :
It is well known that simulation equivalence is an appropriate abstraction to be used in model checking because it strongly preserves ACTL* and provides a better space reduction than bisimulation equivalence. However, computing simulation equivalence is harder than computing bisimulation equivalence. A number of algorithms for computing simulation equivalence exist. Let Sigma denote the state space, rarr the transition relation and Psim the partition of Sigma induced by simulation equivalence. The algorithms by Henzinger, Henzinger, Kopke and by Bloom and Paige run in O(|Sigma||rarr|)-time and, as far as time-complexity is concerned, they are the best available algorithms. However, these algorithms have the drawback of a quadratic space complexity that is bounded from below by Omega(|Sigma|2). The algorithm by Gentilini, Piazza, Policriti appears to be the best algorithm when both time and space complexities are taken into account. Gentilini et al.´s algorithm runs in O(|Psim|2|rarr|)-time while the space complexity is in O(|Psim|2 + |Sigma| log(|Psim|)). We present here a new efficient simulation equivalence algorithm that is obtained as a modification of Henzinger et al.´s algorithm and whose correctness is based on some techniques used in recent applications of abstract interpretation to model checking. Our algorithm runs in O(|Psim||rarr|)-time and O(|Psim||Sigma|)-space. Thus, while retaining a space complexity which is lower than quadratic, our algorithm improves the best known time bound.
Keywords :
bisimulation equivalence; computational complexity; formal specification; formal verification; state-space methods; ACTL; abstract interpretation; bisimulation equivalence; model checking; quadratic space complexity; simulation equivalence algorithm; space reduction; state space; time-complexity; Algorithm design and analysis; Computational modeling; Computer science; Concrete; Context modeling; Labeling; Logic; Partitioning algorithms; Specification languages; State-space methods;