Abstract
This work presents a collection of methods that integrate symmetry reduction and under-approximation with symbolic model checking in order to reduce space and time. The main objective of these methods is falsification. However, under certain conditions, they can provide verification as well.
We first present algorithms that use symmetry reduction to perform on-the-fly model checking for temporal safety properties. These algorithms avoid building the orbit relation and choose representatives on-the-fly while computing the reachable states. We then extend these algorithms to check liveness properties as well. In addition, we introduce an iterative on-the-fly algorithm that builds subsets of the orbit relation rather than the full relation.
Our methods are fully automatic once the user supplies some basic information about the symmetry in the verified system. Moreover, the methods are robust and work correctly even if the information supplied by the user is incorrect. Furthermore, the methods return correct results even when the computation of the symmetry reduction has not been completed due to memory or time explosion.
We implemented our methods within the IBM model checker Rule-Base and compared their performance to that of RuleBase. In most cases, our algorithms outperformed RuleBase in both time and space.
Similar content being viewed by others
References
B. Alpern and F. Schneider, “Verifying temporal properties without using temporal logic,” Technical Report TR 85-723, Cornell University, Dept. of Computer Science, Cornell University, Dec. 1985.
I. Beer, S. Ben-David, C. Eisner, and A. Landver, “RuleBase: An industry-oriented formal verification tool,” in Design Automation Conference, June 1996, pp. 655–660.
I. Beer, S. Ben-David, and A. Landver, “On-the-fly model checking of RCTL formulas,” in A.J. Hu and M.Y. Vardi (Eds.), Proceedings of the 10th International Conference on Computer-Aided Verification, Vol. 1427 of LNCS, Springer-Verlag, June 1998, pp. 184–194.
R. Bloem, K. Ravi, and F. Somenzi, “Symbolic guided search for CTL model checking,” in Design Automation Conference, June 2000, pp. 29–34.
M. Browne, E. Clarke, and O. Grumberg, “Characterizing finite Kripke structures in propositional temporal logic,” Theoretical Comput. Sci., Vol. 59, pp. 115–131, 1988.
R.E. Bryant, “Graph-based algorithms for boolean function manipulation,” IEEE transactions on Computers, Vol. C-35, No. 8, pp. 677–691, 1986.
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, Vol. 98, No. 2, pp. 142–170, 1992.
E. Clarke, O. Grumberg, and H. Hamaguchi, “Another look at LTL model checking,” Formal Methods in System Design, Vol. 10, No. 1, 1997.
E. Clarke, O. Grumberg, and D. Peled, “Model Checking,” MIT Press, Dec. 1999.
E.M. Clarke and E.A. Emerson, “Synthesis of synchronization skeletons for branching time temporal logic,” in Logic of Programs: Workshop, Yorktown Heights, NY, May 1981, vol. 131 of Lecture Notes in Computer Science. Springer-Verlag, 1981.
E.M. Clarke, E.A. Emerson, and A.P. Sistla, “Automatic verification of finite-state concurrent systems using temporal logic specifications,” ACM Trans. Prog. Lang. Syst., Vol. 8, No. 2, pp. 244–263, 1986.
C.N. Ip and D.L. Dill, “Better verification through symmetry,” in D. Agnew, L. Claesen, and R. Camposano, (Eds.), Computer Hardware Description Languages and their Applications, Ottawa, Canada, 1993, pp. 87–100. Elsevier Science Publishers B.V., Amsterdam, Netherlands.
D. Geist and I. Beer, “Efficient model checking by automated ordering of transition relation,” in David L. Dill, (Ed.), Proceedings of the Sixth International Conference on Computer-Aided Verification, Vol. 818, Springer-Verlag, June 1994, pp. 299–310.
E.A. Emerson and J.Y. Halpern, “Sometimes and Not Never revisited: On branching time versus linear time,” jacm, Vol. 33, pp. 151–178, 1986.
E.A. Emerson and A.P. Sistla, “Symmetry and model checking,” in C. Courcoubetis (Ed.), Proceedings of the 5th International Conference on Computer-Aided Verification, volume 697 of LNCS. Springer-Verlag, June 1993.
E.A. Emerson and A.P. Sistla, “Utilizing symmetry when model-checking under fairness assumptions: An automata-theoretic approach,” ACM Transactions on Programming Languages and Systems, Vol. 19, No. 4, pp. 617–638, July 1997.
E.A. Emerson and R.J. Trefler, “From asymmetry to full symmetry: New techniques for symmetry reduction in model checking,” in Conference on Correct Hardware Design and Verification Methods, 1999, pp. 142–156.
R. Fraer, G. Kamhi, B. Ziv, M.Y. Vardi, and L. Fix, “Prioritized traversal: Efficient reachability analysis for verification and falsification,” in E.A. Emerson and A.P. Sistla, (Eds.), Proceedings of the 12th International Conference on Computer-Aided Verification, volume 1855 of LNCS, Springer-Verlag, July 2000, pp. 389–402.
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.
V. Gyuris and A.P. Sistla, “On-the-fly model checking under fairness that exploits symmetry,” Formal Methods in System Design: An International Journal, Vol. 15, No. 3, pp. 217–238, 1999.
S. Jha, “Symmetry and induction in Model checking,” PhD thesis, CMU, 1996.
S. Katz, “Coverage of model checking,” Master’s thesis, Technion, Haifa, Israel, 2001.
K.L. McMillan, Symbolic Model Checking: An Approach to the State Explosion Problem, Kluwer Academic Publishers, 1993.
R. Milner, “An algebraic definition of simulation between programs,” in Proceedings of the 2nd International Joint Conference on Artificial Intelligence, Sept. 1971, pp. 481–489.
D. Park, “Concurrency and automata on infinite sequences,” in 5th GI-Conference on Theoretical Computer Science, LNCS 104, Springer-Verlag, 1981, pp. 167–183.
J.P. Queille and J. Sifakis, “Specification and verification of concurrent systems in CESAR,” in Proceedings of the 5th International Symposium on Programming, vol. 137 of Lecture Notes in Computer Science, Springer Verlag, 1981, pp. 337–351.
K. Ravi and F. Somenzi, “High-density reachability analysis,” in Proc. Intl. Conf, on Computer-Aided Design, Nov. 1995, pp. 154–158.
A.P. Sistla, V. Gyuris, and E.A. Emerson, “SMC: A symmetry-based model checker for verification of safety and liveness properties,” Software Engineering and Methodology, Vol. 9, No. 2, pp. 133–166, 2000.
C.H. Yang and D.L. Dill, “Validation with guided search of the state space,” in Design Automation Conference, June 1998, pp. 599–604.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Barner, S., Grumberg, O. Combining Symmetry Reduction and Under-Approximation for Symbolic Model Checking. Form Method Syst Des 27, 29–66 (2005). https://doi.org/10.1007/s10703-005-2246-x
Issue Date:
DOI: https://doi.org/10.1007/s10703-005-2246-x