Skip to main content

Parallel Model Checking Using Abstraction

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7385))

Abstract

Many model checking techniques are based on enumerative graph search, a procedure that is known to be prohibitively time and memory consuming. Modern multi-core processors rely on parallelism instead of raw clock speed to provide increased performance, so it is necessary to leverage this parallelism to achieve better performance in model checking. In this work, we compare hash-distributed search, a well-known parallel search technique for model checking, with an algorithm from the automated planning and heuristic search community called Parallel Structured Duplicate Detection (PSDD). We show that PSDD has two major advantages over hash-distributed search for multi-core model checking. First, PSDD is able to perform full partial-order reduction where hash-distributed search must be conservative and subsequently miss reduction opportunities in many cases, causing it to search a much larger space. Second, PSDD performs duplicate detection on states immediately, avoiding the need to store duplicate states for inter-thread communication. We have implemented and compared both techniques in the Spin model checker; our results show that PSDD uses significantly less memory than hash-distributed search, can be faster and give better parallel speedup than both hash-distributed search and Spin’s built-in parallel depth-first search. Finally, we show how PSDD can use external memory, such as disk storage, to greatly reduce its internal memory requirements.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   72.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking. In: FMICS 2002: Formal Methods for Industrial Critical Systems. ENTCS, vol. 66(2) (2002)

    Google Scholar 

  2. Bošnački, D., Holzmann, G.J.: Improving Spin’s Partial-Order Reduction for Breadth-First Search. In: Godefroid, P. (ed.) SPIN 2005. LNCS, vol. 3639, pp. 91–105. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  3. Burns, E., Lemons, S., Ruml, W., Zhou, R.: Best-first heuristic search for multicore machines. Journal of Artificial Intelligence Research 39, 689–743 (2010)

    MathSciNet  MATH  Google Scholar 

  4. Dong, Y., Du, X., Holzmann, G.J., Smolka, S.A.: Fighting livelock in the GNU i-Protocol: A case study in explicit-state model checking. International Journal on Software Tools for Technology Transfer (STTT) 4(4), 505–528 (2003)

    Google Scholar 

  5. Dwyer, M.B., Elbaum, S., Person, S., Purandare, R.: Parallel randomized state-space search. In: Proceedings of the 29th International Conference on Software Engineering, ICSE 2007, pp. 3–12 (2007)

    Google Scholar 

  6. Evett, M., Hendler, J., Mahanti, A., Nau, D.: PRA* - massively-parallel heuristic-search. Journal of Parallel and Distributed Computing 25(2), 133–143 (1995)

    Article  Google Scholar 

  7. Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley (2004)

    Google Scholar 

  8. Holzmann, G.J., Bošnački, D.: The design of a multicore extension of the spin model checker. IEEE Transactions on Software Engineering 33(10), 659–674 (2007)

    Article  Google Scholar 

  9. Holzmann, G.J., Peled, D.: An improvement in formal verification. In: Proceedings of the 7th IFIP WG6.1 International Conference on Formal Description Techniques, FORTE 1994 (1994)

    Google Scholar 

  10. Holzmann, G.J., Joshi, R., Groce, A.: Tackling Large Verification Problems with the Swarm Tool. In: Havelund, K., Majumdar, R. (eds.) SPIN 2008. LNCS, vol. 5156, pp. 134–143. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  11. Jabbar, S., Edelkamp, S.: Parallel External Directed Model Checking with Linear I/O. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 237–251. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  12. Kishimoto, A., Fukunaga, A., Botea, A.: Scalable, parallel best-first search for optimal sequential planning. In: Proceedings of the Nineteenth International Conference on Automated Planning and Scheduling, ICAPS 2009 (2009)

    Google Scholar 

  13. Korf, R.: Linear-time disk-based implicit graph search. Journal of the ACM 35(6) (2008)

    Google Scholar 

  14. Pike, R., Presotto, D., Dorward, S., Flandrena, B., Thompson, K., Trickey, H., Winterbottom, P.: Plan 9 from Bell Labs. Computing Systems 8(3), 221–254 (1995)

    Google Scholar 

  15. Reif, J.H.: Depth-first search is inherently sequential. Information Processing Letters 20(5), 229–234 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  16. Roscoe, A.W.: Model-checking csp. In: A Classical Mind, Essays in Honour of CAR Hoare, pp. 353–378. Prentice-Hall (1994)

    Google Scholar 

  17. Schuppan, V., Biere, A.: Efficient reduction of finite state model checking to reachability analysis. International Journal on Software Tools for Technology Transfer (STTT) 5(2-3), 185–204 (2004)

    Google Scholar 

  18. Stern, U., Dill, D.: Parallelizing the Murφ Verifier. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 256–267. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  19. Zhou, R., Hansen, E.A.: Structured duplicate detection in external-memory graph search. In: Proceedings of the Nineteenth National Conference on Artificial Intelligence, AAAI 2004, pp. 683–688 (July 2004)

    Google Scholar 

  20. Zhou, R., Hansen, E.A.: Parallel structured duplicate detection. In: Proceedings of the Twenty-Second Conference on Artificial Intelligence, AAAI 2007, pp. 1217–1223 (2007)

    Google Scholar 

  21. Zhou, R., Hansen, E.A.: Dynamic state-space partitioning in external-memory graph search. In: Proceedings of the Twenty-First International Conference on Automated Planning and Scheduling, ICAPS 2011, pp. 290–297 (2011)

    Google Scholar 

  22. Zhou, R., Schmidt, T., Hansen, E.A., Do, M.B., Uckun, S.: Edge partitioning in parallel structured duplicate detection. In: The 2010 International Symposium on Combinatorial Search, SOCS 2010, pp. 137–138 (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Burns, E., Zhou, R. (2012). Parallel Model Checking Using Abstraction. In: Donaldson, A., Parker, D. (eds) Model Checking Software. SPIN 2012. Lecture Notes in Computer Science, vol 7385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-31759-0_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-31759-0_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-31758-3

  • Online ISBN: 978-3-642-31759-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics