Partial-Order Reduction for General State Exploring Algorithms
An important component of partial-order based reduction algorithms is the condition that prevents action ignoring, commonly known as the cycle proviso. In this paper we give a new version of this proviso that is applicable to a general search algorithm skeleton also known as the General State Expanding Algorithm (GSEA). GSEA maintains a set of open (visited but not expanded) states from which states are iteratively selected for exploration and moved to a closed set of states (visited and expanded). Depending on the open set data structure used, GSEA can be instantiated as depth-first, breadth-first, or a directed search algorithm. The proviso is characterized by reference to the open and closed set of states in GSEA. As a result the proviso can be computed in an efficient manner during the search based on local information. We implemented partial-order reduction for GSEA based on our proposed proviso in the tool HSF-SPIN, which is an extension of the model checker SPIN for directed model checking. We evaluate the state space reduction achieved by partial-order reduction according to the proviso that we propose by comparing it on a set of benchmark problems to other reduction approaches. We also compare the use of breadth-first search and A*, two algorithms ensuring that counterexamples of minimal length will be found, together with the proviso that we propose.
KeywordsState Space Model Check Safety Property Label Transition System Execution Sequence
Unable to display preview. Download preview PDF.
- 1.Alur, R., Brayton, R.K., Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Partialorder reduction in symbolic state-space exploration. Formal Methods in System Design 18, 97–116 (2001); Grumberg, O. (ed.): CAV 1997. LNCS, vol. 1254, pp. 97–116. Springer, Heidelberg (1997)Google Scholar
- 3.Bošnački, D., Leue, S., Lluch Lafuente, A.: Partial-Order Reduction for General State Exploring Algorithms, Technical Report soft-05-02, Chair for Software Engineering, University of Konstanz (2005), http://www.inf.uni-konstanz.de/soft/research/publications/pdf/soft-05-01.pdf
- 4.Clarke, E., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
- 11.Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar
- 12.Holzmann, G.J., Godefroid, P., Pirottin, D.: Coverage Preserving Reduction Strategies for Reachability Analysis. In: Proc. 12th IFIP WG 6.1. International Symposium on Protocol Specification, Testing, and Validation, FORTE/PSTV 1992, pp. 349–363. North-Holland, Amsterdam (1992)Google Scholar
- 13.Holzmann, G.J., Peled, D.: An Improvement in Formal Verification, FORTE 1994, Bern, Switzerland (1994)Google Scholar
- 15.Lluch-Lafuente, A., Edelkamp, S., Leue, S.: Directed Search for the Verification of Communication Protocols, PhD Thesis, Freiburger Dokument Server, Institute of Computer Science, University of Freiburg (June 2003)Google Scholar
- 19.Overman, W.T.: Verification of Concurrent Systems: Function and Timing, Ph.D. Thesis, UCLA, Los Angeles, California (1981)Google Scholar
- 21.Pearl, J.: Heuristics. Addison-Wesley, Reading (1985)Google Scholar
- 23.Willems, B., Wolper, P.: Partial-Order Models for Model Checking: From Linear to Branching Time. In: Proc. of 11 Symposium of Logics in Computer Science, New Brunswick. LICS, vol. 96, pp. 294–303 (1996)Google Scholar