Abstract
Fair-cycle detection, a core problem in model checking, is solvable in linear time in the size of the design model using an explicitstate representation. Existing cycle-detection algorithms for symbolic model checking are quadratic or n log n time in the worst case and often inefficient in practice. Which default symbolic cycle-detection algorithm to implement in model checkers remains an open question. We compare several such algorithms based on the numbers of external and internal iterations and the numbers of image operations that they perform on both randomly-generated and real examples. Unlike recent work by Ravi, Bloem, and Somenzi, we conclude that model checkers need to implement at least two generic cycle-detection algorithms: the traditional EmersonLei algorithm and one that evolved from our study, originally due to Hojati et al. We demonstrate that these two algorithms are complementary, as the latter algorithm is provably incomparable to Emerson-Lei’s and often dominates it in practice.
Work partially supported by NSF Grant CCR-9988322 and a grant from the Intel corporation.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Bloem, R., H. N. Gabow and F. Somenzi. An algorithm for strongly connected component analysis in n log n symbolic steps. In Intl. Conf. on Formal Methods in Computer-Aided Verification, Lecture Notes in Computer Science. Springer-Verlag, 2000.
Bloem, R., K. Ravi and F. Somenzi. Effcient decision procedures for model checking of linear time logic properties. In Intl. Conf. on Computer-Aided Verification, Lecture Notes in Computer Science, pages 222–235. Springer-Verlag, 1999.
Clarke, E. M., E. A. Emerson and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, January 1986.
Courcoubetis, C., M. Y. Vardi, P. Wolper and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1:275–288, 1992.
Emerson, E. A. and C. L. Lei. Efficient model checking in fragments of the propositional model mu-calculus. Proceedings of LICS 1986, pages 267–278, 1986.
Fraer, R., G. Kamhi, L. Fix and M. Y. Vardi. Evaluating semi-exhausting verification techniques for bug hunting. In Proceedings of the 1st Intl. Workshop on Symbolic Model Checking. Electronic Notes in Theoretical Computer Science, 1999.
Hardin, R. H., Z. Har’El and R. P. Kurshan. COSPAN. In Intl. Conf. on Computer-Aided Verification, number 1102 in Lecture Notes in Computer Science, pages 423–427. Springer-Verlag, 1996.
Hardin, R. H., R. P. Kurshan, S. K. Shukla and M. Y. Vardi. A new heuristic for bad cycle detection using BDDs. In Proc. Conf. on Computer-Aided verification (CAV’97), pages 268–278. Springer-Verlag. LNCS 1254, 1997.
Henzinger, T., O. Kupferman and S. Qadeer. From prehistoric to postmodern symbolic model checking. In Hu, A. and M. Vardi, editors, Intl. Conf. on Computer-Aided Verification, volume 1427 of Lecture Notes in Computer Science, pages 195–206. Springer-Verlag, 1998.
Hojati, R., H. Touati, R. Kurshan and R. Brayton. Efficient ω-regular language containment. In Intl. Conf. on Computer-Aided Verification, number 663 in Lecture Notes in Computer Science. Springer-Verlag, 1992.
Holzmann, G. and D. Peled. The state of SPIN. In Intl. Conf. on Computer-Aided Verification, number 1102 in Lecture Notes in Computer Science, pages 385–389. Springer-Verlag, 1996.
Kamhi, G., L. Fix and Z. Binyamini. Symbolic model checking visualization. In Intl. Conf. on Formal Methods in Computer-Aided Verification, number 1522 in Lecture Notes in Computer Science, pages 290–303. Springer-Verlag, 1998.
Karp, R. M. The transitive closure of a random digraph. Random Structures and Algorithms, 1(1), 1990.
Kesten, Y., A. Pnueli and L. on Raviv. Algorithmic verification of linear temporal logic specifications. In Intl. Colloquium on Automata, Languages, and Programming, number 1443 in Lecture Notes in Computer Science. Springer-Verlag, 1998.
Kupferman, O. and M. Y. Vardi. Freedom, weakness, and determinism: From linear-time to branching-time. In IEEE Symp on Logic in Computer Science, 1998.
Ravi, K., R. Bloem and F. Somenzi. A comparative study of symbolic algorithms for the computation of fair cycles. In Intl. Conf. on Formal Methods in Computer-Aided Verification, Lecture Notes in Computer Science. Springer-Verlag, 2000.
The VIS Group. VIS: A system for verification and synthesis. In Alur, R. and T. Henzinger, editors, Intl. Conf. on Computer-Aided Verification, volume 1102 of Lecture Notes in Computer Science. Springer-Verlag, July 1996.
Vardi, M. Y. and P. Wolper. An automata-theoretic approach to automatic program verification. In IEEE Symposium on Logic in Computer Science, 1986.
Yang, Z. Performance analysis of symbolic reachability algorithms in model checking. Master’s thesis, Rice University, Department of Computer Science, 1999. Available at http://www.cs.rice.edu/CS/Verification/.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Fisler, K., Fraer, R., Kamhi, G., Vardi, M.Y., Yang, Z. (2001). Is There a Best Symbolic Cycle-Detection Algorithm?. In: Margaria, T., Yi, W. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2001. Lecture Notes in Computer Science, vol 2031. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45319-9_29
Download citation
DOI: https://doi.org/10.1007/3-540-45319-9_29
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41865-8
Online ISBN: 978-3-540-45319-2
eBook Packages: Springer Book Archive