Skip to main content

Improved on-the-Fly Livelock Detection

Combining Partial Order Reduction and Parallelism for dfs FIFO

  • Conference paper
NASA Formal Methods (NFM 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7871))

Included in the following conference series:

Abstract

Until recently, the preferred method of livelock detection was via LTL model checking, which imposes complex constraints on partial order reduction por, limiting its performance and parallelization. The introduction of the \(\textsc{dfs}_{\textsc{fifo}}\) algorithm by Faragó et al. showed that livelocks can theoretically be detected faster, simpler, and with stronger por.

For the first time, we implement \(\textsc{dfs}_{\textsc{fifo}}\) and compare it to the LTL approach by experiments on four established case studies. They show the improvements over the LTL approach: \(\textsc{dfs}_{\textsc{fifo}}\) is up to 3.2 times faster, and it makes por up to 5 times better than with spin’s ndfs.

Additionally, we propose a parallel version of \(\textsc{dfs}_{\textsc{fifo}}\), which demonstrates the efficient combination of parallelization and por. We prove parallel \(\textsc{dfs}_{\textsc{fifo}}\) correct and show why it provides stronger guarantees on parallel scalability and por compared to LTL-based methods. Experimentally, we establish almost ideal linear parallel scalability and por close to the por for safety checks: easily an order of magnitude better than for LTL.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press (2008)

    Google Scholar 

  2. Barnat, J., Brim, L., Rockai, P.: Parallel Partial Order Reduction with Topological Sort Proviso. In: SEFM, pp. 222–231. IEEE Computer Society (2010)

    Google Scholar 

  3. Barnat, J., Brim, L., Ročkai, P.: A Time-Optimal On-the-Fly Parallel Algorithm for Model Checking of Weak LTL Properties. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 407–425. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Barnat, J., Havlíček, J., Ročkai, P.: Distributed LTL Model Checking with Hash Compaction. In: PASM/PDMC. ENTCS. Elsevier (2012)

    Google Scholar 

  5. van der Berg, F., Laarman, A.: SpinS: Extending LTSmin with Promela through SpinJa. In: PASM/PDMC. ENTCS. Elsevier (2012)

    Google Scholar 

  6. Courcoubetis, C., Vardi, M., Wolper, P., Yannakakis, M.: Memory-Efficient Algorithms for the Verification of Temporal Properties. FMSD 1(2), 275–288 (1992)

    Google Scholar 

  7. Dalsgaard, A.E., Laarman, A., Larsen, K.G., Olesen, M.C., van de Pol, J.: Multi-Core Reachability for Timed Automata. In: Jurdziński, M., Ničković, D. (eds.) FORMATS 2012. LNCS, vol. 7595, pp. 91–106. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  8. Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, vol. 7561, pp. 269–283. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  9. Evangelista, S., Pajault, C.: Solving the Ignoring Problem for Partial Order Reduction. STTF 12, 155–170 (2010)

    Article  Google Scholar 

  10. Faragó, D.: Model Checking of Randomized Leader Election Algorithms. Master’s thesis, Universität Karlsruhe (2007)

    Google Scholar 

  11. Faragó, D., Schmitt, P.H.: Improving Non-Progress Cycle Checks. In: Păsăreanu, C.S. (ed.) SPIN 2009. LNCS, vol. 5578, pp. 50–67. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  12. Holzmann, G.: The spin Model Checker: Primer&Ref. Man. Addison-Wesley (2011)

    Google Scholar 

  13. Holzmann, G.J.: Parallelizing the Spin Model Checker. In: Donaldson, A., Parker, D. (eds.) SPIN 2012. LNCS, vol. 7385, pp. 155–171. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  14. Holzmann, G., Peled, D.: An Improvement in Formal Verification. In: Proceedings of the Formal Description Techniques, pp. 197–211. Chapman & Hall (1994)

    Google Scholar 

  15. Holzmann, G., Peled, D., Yannakakis, M.: On nested depth first search. In: SPIN, pp. 23–32. American Mathematical Society (1996)

    Google Scholar 

  16. Katz, S., Peled, D.: An Efficient Verification Method for Parallel and Distributed Programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency. LNCS, vol. 354, pp. 489–507. Springer, Heidelberg (1989)

    Chapter  Google Scholar 

  17. Laarman, A., Langerak, R., van de Pol, J., Weber, M., Wijs, A.: Multi-Core nested depth-first search. In: Bultan, T., Hsiung, P.-A. (eds.) ATVA 2011. LNCS, vol. 6996, pp. 321–335. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  18. Laarman, A., van de Pol, J., Weber, M.: Parallel Recursive State Compression for Free. In: Groce, A., Musuvathi, M. (eds.) SPIN 2011. LNCS, vol. 6823, pp. 38–56. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  19. Laarman, A., van de Pol, J.: Variations on Multi-Core Nested Depth-First Search. In: PDMC. EPTCS, vol. 72, pp. 13–28 (2011)

    Google Scholar 

  20. Laarman, A., van de Pol, J., Weber, M.: Boosting Multi-Core Reachability Performance with Shared Hash Tables. In: FMCAD. IEEE Computer Society (2010)

    Google Scholar 

  21. Laarman, A., van de Pol, J., Weber, M.: Multi-Core LTSmin: Marrying Modularity and Scalability. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 506–511. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  22. Moore, G.: Cramming more Components onto Integrated Circuits. Electronics 38(10), 114–117 (1965)

    Google Scholar 

  23. Pater, E.: Partial Order Reduction for PINS, Master’s thesis. Uni. of Twente (2011)

    Google Scholar 

  24. Pelánek, R.: BEEM: Benchmarks for Explicit Model Checkers. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 263–267. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  25. Saad, R.T., Dal Zilio, S., Berthomieu, B.: An experiment on parallel model checking of a CTL fragment. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, vol. 7561, pp. 284–299. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  26. Valmari, A.: Stubborn Sets for Reduced State Space Generation. In: Rozenberg, G. (ed.) APN 1990. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  27. Vardi, M., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: LICS, pp. 332–344 (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Laarman, A., Faragó, D. (2013). Improved on-the-Fly Livelock Detection. In: Brat, G., Rungta, N., Venet, A. (eds) NASA Formal Methods. NFM 2013. Lecture Notes in Computer Science, vol 7871. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38088-4_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38088-4_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38087-7

  • Online ISBN: 978-3-642-38088-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics