Abstract
State space minimization techniques are crucial for combating state explosion. A variety of explicit-state verification tools use bisimulation minimization to check equivalence between systems, to minimize components before composition, or to reduce a state space prior to model checking. Experimental results on bisimulation minimization in symbolic model checking contexts, however, are mixed. This paper explores bisimulation minimization as an optimization in symbolic model checking of invariance properties. We consider three bisimulation minimization algorithms. From each, we produce a BDD-based model checker for invariant properties and compare this model checker to a conventional one based on backwards reachability. Our comparisons, both theoretical and experimental, suggest that bisimulation minimization is not viable in the context of invariance verification, because performing the minimization requires as many, if not more, computational resources as model checking the unminimized system through backwards reachability.
Similar content being viewed by others
References
R. Alur, C. Courcoubetis, D. Dill, N. Halbwachs, and H. Wong-Toi, “An implementation of three algorithms for timing verification based on automata emptiness,” in IEEE Real-Time Systems Symposium, 1992, pp. 157-166.
A. Aziz, V. Singhal, G. Swamy, and R. Brayton, “Minimizing interacting finite state machines:Acompositional approach to language containment,” in International Conference on Computer Design, 1994.
I. Beer, S. Ben-David, D. Geist, R. Gewirtzman, and M. Yoeli, “Methodology and system for practical formal verification of reactive hardware,” in Proc. 6th Conference on Computer Aided Verification, Stanford, June 1994, Vol. 818 of Lecture Notes in Computer Science, pp. 182-193.
M. Boreale, “Symbolic bisimulation for timed processes,” in International Conference on Algebraic Methodology and Software Technology, Vol. 1101 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1996, pp. 321-335.
A. Bouajjani, J.-C. Fernandez, and N. Halbwachs, “Minimal model generation,” in E. Clarke and R. Kurshan (Eds.), International Conference on Computer-Aided Verification, Vol. 531 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1990, pp. 197-203.
A. Bouali, “XEVE, an ESTEREL verification environment,” in International Conference on Computer-Aided Verification, 1998, pp. 500-504.
A. Bouali and R. de Simone, “Symbolic bisimulation minimization,” in International Conference on Computer-Aided Verification, Vol. 663 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1992, pp. 96-108.
A. Bouali, A. Ressouche, V. Roy, and R. de Simone, “The FC2TOOLS set,” in International Conference on Computer-Aided Verification, Vol. 1102 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1996, pp. 441-445.
M. Bourdellès, “The steam boiler controller problem in ESTEREL and its verification by means of symbolic analysis,” Technical Report 3285, INRIA Sophia Antipolis, October 1997.
E. Clarke, R. Enders, T. Filkorn, and S. Jha, “Exploiting symmetry in temporal logic model checking,” Formal Methods in System Design, Vol. 9, No. 1/2, pp. 77-104, 1996.
E. Clarke, O. Grumberg, and D. Long, “Model-checking and abstraction,” in ACM Symposium on Principles of Programming Languages, 1992, pp. 343-354.
E. Clarke, M. Khaira, and X. Zhao, “Word level model checking-Avoiding the Pentium FDIV error,” in International Conference on Design Automation, June 1996, pp. 645-648.
E. Clarke and R. Kurshan, “Computer aided verification,” IEEE Spectrum, Vol. 33, pp. 61-67, 1986.
R. Cleaveland, J. Gada, P. Lewis, S.A. Smolka, O. Sokolsky, and S. Zhang, “The concurrency factory-Practical tools for specification, simulation, verification, and implementation of concurrent systems,” in Proc. of DIMACS Workshop on Specification of Parallel Algorithms, Vol. 18 of DIMACS Series in Discrete Mathematics and Theoretical Computer Science, 1994, pp. 75-90.
R. Cleaveland, J. Parrow, and B. Steffen, “The concurrency workbench: A semantics-based tool for the verification of concurrent systems,” ACM Transactions on Programming Languages and Systems, Vol. 15, No. 1, pp. 36-72, 1993.
R. Cleaveland and S. Sims, “The NCSU concurrency workbench,” in International Conference on Computer-Aided Verification, Vol. 1102 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1996, pp. 394-397.
S.J. Creese and A. Roscoe, “TTP: A case study in combining induction and data independence,” unpublished draft manuscript, 1998.
D. Dams, “Abstract interpretation and partition refinement for model checking,” Ph.D. Thesis, Technische Universiteit Eindhoven, 1996.
D. Dams, O. Grumberg, and R. Gerth, “Generation of reduced models for checking fragments of CTL,” in International Conference on Computer-Aided Verification, Vol. 697 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1993, pp. 479-490.
A.T. Eiriksson, “The formal design of 1M-gate ASICs,” in G. Gopalakrishnan and P. Windley (Eds.), International Conference on Formal Methods in Computer-Aided Verification, Vol. 1522 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1998.
J.-C. Fernandez, “Aldébaran: A tool for verification of communicating processes,” Rapport SPECTRE C14, Laboratoire de Génie Informatique, Institut IMAG, Grenoble, September 1989.
J.-C. Fernandez and L. Mounier, “ “On the fly” verification of behavioral equivalences and preorders,” in International Conference on Computer-Aided Verification, Vol. 575 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1991, pp. 181-191.
K. Fisler and M.Y. Vardi, “Bisimulation minimization in an automata-theoretic verification framework,” in G. Gopalakrishnan and P. Windley (Eds.), International Conference on Formal Methods in Computer-Aided Verification, Vol. 1522 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1998, pp. 115-132.
O. Grumberg and D. Long, “Model checking and modular verification,” ACM Trans. on Programming Languages and Systems, Vol. 16, No. 3, pp. 843-871, 1994.
N. Halbwachs and D. Peled (Eds.), International Conference on Computer-Aided Verification, Vol. 1633 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1999.
M. Hennessey and H. Lin, “Symbolic bisimulations,” Theoretical Computer Science, Vol. 138, pp. 353-389, 1995.
M. Hennessy and R. Milner, “Algebraic laws for nondeterminism and concurrency,” Journal of ACM, Vol. 32, pp. 137-161, 1985.
T. Henzinger, O. Kupferman, and S. Qadeer, “From pre-historic to post-modern symbolic model checking,” in Computer Aided Verification, Proc. 10th Int. Conference, Vol. 1427 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1998.
J.E. Hopcroft, “An n log n algorithm for minimizing states in a finite automaton,” in Z. Kohavi and A. Paz (Eds.), Theory of Machines and Computations, Academic Press, San Diego, CA, 1971, pp. 189-196.
P.C. Kanellakis and S.A. Smolka, “CCS expressions, finite state processes, and three problems of equivalence,” Information and Computation, Vol. 86, pp. 43-68, 1990.
O. Kupferman and M.Y. Vardi, “On the complexity of branching modular model checking,” in Proc. 6th Conference on Concurrency Theory, Vol. 962 of Lecture Notes in Computer Science, Philadelphia, Springer-Verlag, Berlin, 1995, pp. 408-422.
O. Kupferman and M.Y. Vardi, “Model checking of safety properties,” in International Conference on Computer-Aided Verification, Vol. 1633 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1999.
R.P. Kurshan, Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach, Princeton University Press, Princeton, NJ, 1994.
D. Lee and M. Yannakakis, “Online minimization of transition systems,” in Proc. 24th ACM Symposium on Theory of Computing, Victoria, May 1992, pp. 264-274.
R. Milner, A Calculus of Communicating Systems, Vol. 92 of Lecture Notes in Computer Science, Springer Verlag, Berlin, 1980.
R. Paige and R. Tarjan, “Three partition refinement algorithms,” SIAM Journal of Computing, Vol. 16, pp. 973-989, 1987.
F. Rahim, “Property-dependent reduction of finite state machines for modular model checking: Application to VHDL with computational results,” in Proc. Third IEEE International High Level Design Validation and Test Workshop (HLDVT), 1998.
A. Roscoe, The Theory and Practice of Concurrency, Series in Computer Science, Prentice-Hall, Englewood Cliffs, NJ, 1998.
The VIS Group, “VIS: A system for verification and synthesis,” in R. Alur and T. Henzinger (Eds.), International Conference on Computer-Aided Verification, Vol. 1102 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, 1996, pp. 428-432.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Fisler, K., Vardi, M.Y. Bisimulation Minimization and Symbolic Model Checking. Formal Methods in System Design 21, 39–78 (2002). https://doi.org/10.1023/A:1016091902809
Issue Date:
DOI: https://doi.org/10.1023/A:1016091902809