Directed model checking has proved itself to be a useful technique in reducing the state space of the problem graph. But still, its potential is limited by the available memory. This problem can be circumvented by the use of secondary storage devices to store the state space. This paper discusses directed best-first search to enhance error detection capabilities of model checkers like SPIN by using a streamed access to secondary storage. We explain, how to extend SPIN to allow external state access, and how to adapt heuristic search algorithms to ease error detection for this case. We call our derivate IO-HSF-SPIN. In the theoretical part of the paper, we extend the heuristic-based external searching algorithm to general weighted and directed graphs. We conduct experiments with some challenging protocols in Promela syntax like GIOP and dining philosophers and have succeeded in solving some hard instances externally.


Model Check Goal Node Weighted Graph Secondary Memory Symbolic Model Check 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bérard, B., Bidoit, A.F.M., Laroussine, F., Petit, A., Petrucci, L., Schoenebelen, P., McKenzie, P.: Systems and Software Verification. Springer, Heidelberg (2001)MATHGoogle Scholar
  2. 2.
    Burch, J.R., Clarke, E.M., McMillian, K.L., Hwang, J.: Symbolic model checking: 1020 states and beyond. Information and Computation 98(2), 142–170 (1992)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  4. 4.
    Dijkstra, E.W.: A note on two problems in connection with graphs. Numerische Mathematik 1, 269–271 (1959)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Edelkamp, S., Jabbar, S., Schroedl, S.: External A*. In: Biundo, S., Frühwirth, T., Palm, G. (eds.) KI 2004. LNCS (LNAI), vol. 3238, pp. 226–240. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 6.
    Edelkamp, S., Leue, S., Lluch-Lafuente, A.: Directed explicit-state model checking in the validation of communication protocols. International Journal on Software Tools for Technology, STTT (2004)Google Scholar
  7. 7.
    Edelkamp, S., Reffel, F.: OBDDs in heuristic search. In: Herzog, O. (ed.) KI 1998. LNCS, vol. 1504, pp. 81–92. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  8. 8.
    Edelkamp, S., Schrödl, S.: Localizing A*. In: National Conference on Artificial Intelligence (AAAI), pp. 885–890 (2000)Google Scholar
  9. 9.
    Hart, P.E., Nilsson, N.J., Raphael, B.: A formal basis for heuristic determination of minimum path cost. IEEE Transactions on on Systems Science and Cybernetics 4, 100–107 (1968)CrossRefGoogle Scholar
  10. 10.
    Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs (1990)Google Scholar
  11. 11.
    Jensen, R.M., Bryant, R.E., Veloso, M.M.: SetA*: An efficient BDD-based heuristic search algorithm. In: National Conference on Artificial Intelligence, AAAI (2002)Google Scholar
  12. 12.
    Kamel, M., Leue, S.: Formalization and validation of the General Inter-ORB Protocol (GIOP) using PROMELA and SPIN. International Journal on Software Tools for Technology Transfer 2(4), 394–409 (2000)MATHCrossRefGoogle Scholar
  13. 13.
    Korf, R.: Best-first frontier search with delayed duplicate detection. In: National Conference on Artificial Intelligence (AAAI), pp. 650–657 (2004)Google Scholar
  14. 14.
    Korf, R.E.: Breadth-first frontier search with delayed duplicate detection. In: Workshop on Model Checking and Artificial Intelligence (MoChArt), pp. 87–92 (2003)Google Scholar
  15. 15.
    Lluch-Lafuente, A.: Symmetry reduction and heuristic search for error detection in model checking. In: Model Checking and Artificial Intelligence, MoChArt 2003 (2003)Google Scholar
  16. 16.
    Lluch-Lafuente, A., Edelkamp, S., Leue, S.: Partial order reduction in directed model checking. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 112–127. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Mehlhorn, K., Meyer, U.: External-memory breadth-first search with sublinear I/O. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 723–735. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. 18.
    Meyer, U., Sanders, P., Sibeyn, J.: Memory Hierarchies. Springer, Heidelberg (2003)MATHCrossRefGoogle Scholar
  19. 19.
    Munagala, K., Ranade, A.: I/O-complexity of graph algorithms. In: Symposium on Discrete Algorithms (SODA), pp. 87–88 (2001)Google Scholar
  20. 20.
    Sawatzki, D.: Experimental studies of symbolic shortest-path algorithms. In: Workshop on Algorithm Engineering (WAE), pp. 482–497 (2004)Google Scholar
  21. 21.
    Sawatzki, D.: A symbolic approach to the all-pairs shortest-paths problem. In: Workshop on Algorithm Engineering (WAE), pp. 482–497 (2004)Google Scholar
  22. 22.
    Sibeyn, J.F.: External matrix multiplication and all-pairs shortest path. Information Processing Letters 91(2), 99–106 (2004)MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Stern, U., Dill, D.: Using magnetic disk instead of main memory in the murphi verifier. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 172–183. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  24. 24.
    Zhou, R., Hansen, E.: Breadth-first heuristic search. In: International Conference on Automated Planning and Scheduling (ICAPS), pp. 92–100 (2004)Google Scholar
  25. 25.
    Zhou, R., Hansen, E.: Structured duplicate detection in external-memory graph search. In: National Conference on Artificial Intelligence (AAAI), pp. 683–689 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Shahid Jabbar
    • 1
  • Stefan Edelkamp
    • 1
  1. 1.Department of Computer ScienceUniversity of DortmundDortmundGermany

Personalised recommendations