Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
My Menu
Saved Items

Is There a Best Symbolic Cycle-Detection Algorithm?

Kathi Fisler6, 9, Ranan Fraer7, Gila Kamhi7, Moshe Y. Vardi6 and Zijiang Yang6, 8

(6)  Department of Computer Science, Rice University, Houston, TX, USA
(7)  Intel Development Center, Haifa, Israel
(8)  CCRL, NEC, Princeton, NJ, USA
(9)  Worcester Polytechnic Institute, Worcester, MA, USA
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.

Fulltext Preview (Small, Large)
Image of the first page of the fulltext

References secured to subscribers.



Export this chapter
Export this chapter as RIS | Text
 
Referenced by
1 newer article

  1. Sebastiani, Roberto (2007) GSTE is partitioned model checking. Formal Methods in System Design 31(2)
    [CrossRef]
Remote Address: 38.107.191.106 • Server: mpweb22
HTTP User Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html)