Abstract
This paper presents a scalable method for parallel symbolic on-the-fly model checking in a distributed memory environment. Our method combines a scheme for on-the-fly model checking for safety properties with a scheme for scalable reachability analysis. We suggest an efficient, BDD-based algorithm for a distributed construction of a counterexample. The extra memory requirement for counterexample generation is evenly distributed among the processes by a memory balancing procedure. At no point during computation does the memory of a single process contain all the data. This enhances scalability. Collaboration between the parallel processes during counterexample generation reduces memory utilization for the backward step. We implemented our method on a standard, loosely- connected environment of workstations, using a high-performance model checker. Our initial performance evaluation, carried out on several large circuits, shows that our method can check models that are too large to fit in the memory of a single node. Our on-the-fly approach may find counterexamples even when the model is too large to fit in the memory of the parallel system.
Similar content being viewed by others
References
Armoni R, Fix L, Flaisher A, Gerth R, Ginsburg B, Kanza T, Landver A, Mador-Haim S, Singerman E, Tiemeyer A, Vardi MY, Zbar Y: The ForSpec temporal logic: a new temporal property-specification language. In: International Conference on Tools and Algorithms for Construction and Analysis of Systems. Springer, Berlin Heidelberg New York, 2002
Beer I, Ben-David S, Eisner C, Fisman D, Gringauze A, Rodeh Y: The temporal logic Sugar. In: Proc. 13th International Conference on Computer Aided Verification. Springer, Berlin Heidelberg New York, 2001
Beer I, Ben-David S, Eisner C, Landver A: Rulebase: an industry-oriented formal verification tool. In: 33rd Design Automation Conference, 1996, pp 655–660
Beer I, Ben-David S, Landver A: On-the-fly model checking of RCTL formulas. In: Proc. 10th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol 818. Springer, Berlin Heidelberg New York, 1998, pp 184–194
Bhat G, Cleaveland R, Grumberg O: Efficient on-the-fly model checking for CTL*. In: Proc. Conference on Logic in Computer Science (LICS’95), 1995
Bryant RE: Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput C-35(8):677–691, 1986
Burch JR, Clarke EM, Long DE: Symbolic model checking with partitioned transition relations. In: Halaas A, Denyer PB (eds) Proc. 1991 International Conference on Very Large Scale Integration, 1991
Burch JR, Clarke EM, McMillan KL, Dill DL, Hwang LJ: Symbolic model checking: 1020 states and beyond. Inf Comput 98(2):142–170, 1992
Cabodi G, Camurati P, Quer S: Improved reachability analysis of large FSM. In: Proc. IEEE International Conference on Computer Aided Design. IEEE Computer, New York, 1996, pp 354–360
Cabodi G, Camurati P, Quer S: Improving the efficiency of BDD-based operators by means of partitioning. IEEE Trans Comput Aided Des 18:545–556, 1999
Clarke E, Grumberg O, McMillan K, Zhao X: Efficient generation of counterexamples and witnesses in symbolic model checking. In: 32rd Design Automation Conference, 1995, pp 655–660
Coudert O, Madre JC, Berthet C: Verifying temporal properties of sequential machines without building their state diagrams. In: Kurshan R, Clarke EM (eds) Workshop on Computer Aided Verification, DIMACS, Lecture Notes in Computer Science, vol 531. Springer, Berlin Heidelberg New York, 1990, pp 23–32
Courcoubetis C, Vardi M, Wolper P, Yannakakis M: Memory efficient algorithms for the verification of temporal properties. Formal Meth Syst Des 1:275–288, 1992
Heyman T, Geist D, Grumberg O, Schuster A: Achieving scalability in parallel reachability analysis of very large circuits. In: Proc. 12th International Conference on Computer Aided Verification. Springer, Berlin Heidelberg New York, 2000
Hopcroft JE, Ullman J: Introduction to automata theory, languages and computation. Addison-Wesley, Reading, Mass., USA, 1979
Long DE: Model checking, abstraction, and compositional reasoning. PhD thesis, Carnegie Mellon University, 1993
McMillan KL: Symbolic model checking: an approach to the state explosion problem. Kluwer Academic, Boston, Mass., USA, 1993
Narayan A, Isles A, Jain J, Brayton R, Sangiovanni-Vincentelli AL: Reachability analysis using partitioned-ROBDDs. In: Proc. IEEE International Conference on Computer Aided Design, pp 388–393. IEEE Computer, New York, 1997
Narayan A, Jain J, Fujita M, Sangiovanni-Vincentelli AL: Partitioned-ROBDDs. In: Proc. IEEE International Conference on Computer Aided Design, pp 547–554. IEEE Computer, New York, 1996
Peled D: Combining partial order reductions with on-the-fly model checking. In: Proc. 6th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol 818. Springer, Berlin Heidelberg New York, 1994, pp 377–390
Stern U, Dill DL: Parallelizing the Murphy verifier. In: Proc. 9th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol 1254. Springer, Berlin Heidelberg New York, 1997, pp 256–267
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Ben-David , S., Grumberg , O., Heyman , T. et al. Scalable distributed on-the-fly symbolic model checking. STTT 4, 496–504 (2003). https://doi.org/10.1007/s10009-002-0093-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-002-0093-2