Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-642-31759-0_13guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Parallel model checking using abstraction

Published: 23 July 2012 Publication History

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.

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).
[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).
[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).
[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).
[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).
[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).
[7]
Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley (2004).
[8]
Holzmann, G.J., Bošnački, D.: The design of amulticore extension of the spin model checker. IEEE Transactions on Software Engineering 33(10), 659-674 (2007).
[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).
[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).
[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).
[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).
[13]
Korf, R.: Linear-time disk-based implicit graph search. Journal of the ACM 35(6) (2008).
[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).
[15]
Reif, J.H.: Depth-first search is inherently sequential. Information Processing Letters 20(5), 229-234 (1985).
[16]
Roscoe, A.W.: Model-checking csp. In: A Classical Mind, Essays in Honour of CAR Hoare, pp. 353-378. Prentice-Hall (1994).
[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).
[18]
Stern, U., Dill, D.: Parallelizing the Murϕ Verifier. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 256-267. Springer, Heidelberg (1997).
[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).
[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).
[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).
[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).

Cited By

View all
  • (2018)The role of model checking in software engineeringFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-016-6192-012:4(642-668)Online publication date: 1-Aug-2018
  • (2015)Concurrent Bounded Model CheckingACM SIGSOFT Software Engineering Notes10.1145/2693208.269324040:1(1-5)Online publication date: 6-Feb-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
SPIN'12: Proceedings of the 19th international conference on Model Checking Software
July 2012
261 pages
ISBN:9783642317583
  • Editors:
  • Alastair Donaldson,
  • David Parker

Sponsors

  • Codeplay: Codeplay Software Ltd.
  • Microsoft Research: Microsoft Research
  • ARM: ARM Ltd.
  • Monoidics: Monoidics Ltd.

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 23 July 2012

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2018)The role of model checking in software engineeringFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-016-6192-012:4(642-668)Online publication date: 1-Aug-2018
  • (2015)Concurrent Bounded Model CheckingACM SIGSOFT Software Engineering Notes10.1145/2693208.269324040:1(1-5)Online publication date: 6-Feb-2015

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media