Abstract
The fair cycle detection problem is at the heart of both LTL and fair CTL model checking. This paper presents a new distributed scalable algorithm for explicit fair cycle detection. Our method combines the simplicity of the distribution of explicitly presented data structure and the features of symbolic algorithm allowing for an efficient parallelisation. If a fair cycle (i.e. counterexample) is detected, then the algorithm produces a cycle, which is in general shorter than that produced by depth-first search based algorithms. Experimental results confirm that our approach outperforms that based on a direct implementation of the best sequential algorithm.
Supported by GA ČR grant no. 201/00/1023.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. Barnat, L. Brim, and J. Stříbrná. Distributed LTL Model-Checking in SPIN. In Proc. SPIN Workshop on Model Checking of Software, volume 2057 of LNCS, pages 200–216. Springer, 2001.
J. Barnat, L. Brim, and I. Černá. Property driven distribution of Nested DFS. In Proc. Workshop on Verification and Computational Logic, number DSSE-TR-2002-5 in DSSE Technical Report, pages 1–10. Dept. of Electronics and Computer Science, University of Southampton, UK, 2002.
G. Behrmann. A performance study of distributed timed automata reachability analysis. In Proc. Workshop on Parallel and Distributed Model Checking, volume 68 of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 2002.
S. Ben-David, T. Heyman, O. Grumberg, and A. Schuster. Scalable distributed on-the-fly symbolic model checking. In Proc. Formal Methods in Computer-Aided Design, volume 1954 of LNCS, pages 390–404, 2000.
R. Bloem, K. Ravi, and F. Somenzi. Efficient decision procedures for model checking of linear time logic properties. In Proc. Computer-Aided Verification, volume 1633 of LNCS, pages 222–235. Springer, 1999.
B. Bollig, M. Leucker, and M. Weber. Parallel model checking for the alternation free μ-calculus. In Proc. Tools and Algorithms for the Construction and Analysis of Systems, volume 2031 of LNCS, pages 543–558. Springer, 2001.
R. K. Brayton et al. VIS: a system for verification and synthesis. In Proc. Formal Methods in Computer Aided Design, volume 1166 of LNCS, pages 248–256. Springer, 1996.
L. Brim, I. Černá, P. Krčál, and R. Pelánek. Distributed LTL model checking based on negative cycle detection. In Proc. Foundations of Software Technology and Theoretical Computer Science, volume 2245 of LNCS, pages 96–107. Springer, 2001.
R. E. Bryant. Graph-based algorithms for boolean function manipulation. In IEEE Transactions on Computers, volume C-35(8), pages 677–691, 1986.
J. R. Büchi. On a decision method in restricted second order arithmetic. In Proc. International Congress on Logic, Methodology and Philosophy Science, pages 1–11. Stanford university Press, 1960.
J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170, 1992.
I. Černá and R. Pelánek. Relating the hierarchy of temporal properties to model checking. Submitted, 2002.
E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, 1999.
C. Eisner and D. Peled. Comparing symbolic and explicit model checking of a software system. In Proc. SPIN Workshop on Model Checking of Software, volume 2318 of LNCS, page 230–239. Springer, 2002.
E. A. Emerson and C.-L. Lei. Modalities for model checking: branching time logic strikes back. Science of Computer Programming, 8:275–306, 1987.
K. Fisler, R. Fraer, G. Kamhi Y. Vardi, and Z. Yang. Is there a best symbolic cycle-detection algorithm? In Proc. Tools and Algorithms for Construction and Analysis of Systems, volume 2031 of LNCS, pages 420–434. Springer, 2001.
H. Garavel, R. Mateescu, and I. Smarandache. Parallel state space construction for model-checking. In Proc. SPIN Workshop on Model Checking of Software, volume 2057 of LNCS, pages 215+. Springer, 2001.
R. Gerth, D. Peled, M. Y. Vardi, and P. Wolper. Simple on-the-fly automatic verification of linear temporal logic. In Proc. Protocol Specification Testing and Verification, pages 3–18. Chapman & Hall, 1995.
R. H. Hardin, A. Harel, and R. P. Kurshan. COSPAN. In Proc Conference on Computer Aided Verification, volume 1102 of LNCS, pages 423–427. Springer, 1996.
T. Heyman, D. Geist, O. Grumberg, and A. Schuster. Achieving scalability in parallel reachability analysis of very large circuits. In Proc. Conference on Computer Aided Verification, volume 1855 of LNCS, pages 20–35. Springer, 2000.
R. Hojati, R. K. Brayton, and R. P. Kurshan. BDD-based debugging using language containment and fair CTL. In Proc. Conference on Computer Aided Verification, volume 697 of LNCS, pages 41–58. Springer, 1993.
G. J. Holzmann. The model checker SPIN. IEEE Transactions on Software Engineering, 23(5):279–295, 1997.
G. J. Holzmann, D. Peled, and M. Yannakakis. On nested depth first search. In Proc. SPIN Workshop on Model Checking of Software, pages 23–32. American Mathematical Society, 1996.
A. J. Hu. Techniques for efficient formal verification using binary decision diagrams. PhD thesis, Stanford University, 1995.
A. J. Hu, G. York, and D. L. Dill. New techniques for efficient verification with implicitly conjoined BDDs. In Proc. Design automation Conference, pages 276–282, 1994.
Y. Kesten, A Pnueli, and L. Raviv. Algorithmic verification of linear temporal logic specifications. In Proc. Automata, Languages and Programming, volume 1443 of LNCS, pages 1–16. Springer, 1998.
R. Kurshan, V. Levin, M. Minea, D. Peled, and H. Yenigün. Static partial order reduction. In Tools and Algorithms for Construction and Analysis of Systems, volume 1384 of LNCS, pages 345–357. Springer.
F. Lerda and R. Sisto. Distributed-memory model checking with SPIN. In Proc. SPIN Workshop on Model Checking of Software, volume 1680 of LNCS, Berlin, Germany, 1999. Springer.
K. L. McMillan. Symbolic Model Checking. Kluwer Academic Publisher, 1994.
K. Ravi, R. Bloem, and F. Somenzi. A comparative study of symbolic algorithms for the computation of fair cycles. In Proc. Formal Methods in Computer-Aided Design, volume 1954 of LNCS, pages 143–160. Springer, 2000.
J. H. Reif. Depth-first search is inherrently sequential. Information Processing Letters, 20(5):229–234, 1985.
F. Somenzi and R. Bloem. Efficient Büchi automata from LTL formulae. In Proc. Computer Aided Verification, volume 1855 of LNCS, pages 248–263. Springer, 2000.
U. Stern and D. L. Dill. Parallelizing the Murϕ verifier. In Proc. Computer Aided Verification, volume 1254 of LNCS, pages 256–267. Springer, 1997.
J. R. Streett. Propositional dynamic logic of looping and converse is elementarily decidable. Information and Control, 54(1–2):121–141, 1982.
R. Tarjan. Depth first search and linear graph algorithms. SIAM Journal on computing, pages 146–160, 1972.
M. Y. Vardi. An automata-theoretic approach to linear temporal logic. In Logics for Concurrency: Structure versus Automata, volume 1043 of LNCS, pages 238–266. Springer, 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Černá, I., Pelánek, R. (2003). Distributed Explicit Fair Cycle Detection (Set Based Approach). In: Ball, T., Rajamani, S.K. (eds) Model Checking Software. SPIN 2003. Lecture Notes in Computer Science, vol 2648. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44829-2_4
Download citation
DOI: https://doi.org/10.1007/3-540-44829-2_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40117-9
Online ISBN: 978-3-540-44829-7
eBook Packages: Springer Book Archive