NFM 2013: NASA Formal Methods pp 32-47 | Cite as

Improved on-the-Fly Livelock Detection

Combining Partial Order Reduction and Parallelism for dfsFIFO
  • Alfons Laarman
  • David Faragó
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7871)

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.

Keywords

Model Check Linear Temporal Logic State Label Leader Election Liveness Property 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press (2008)Google Scholar
  2. 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. 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)CrossRefGoogle Scholar
  4. 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. 5.
    van der Berg, F., Laarman, A.: SpinS: Extending LTSmin with Promela through SpinJa. In: PASM/PDMC. ENTCS. Elsevier (2012)Google Scholar
  6. 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. 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)CrossRefGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 9.
    Evangelista, S., Pajault, C.: Solving the Ignoring Problem for Partial Order Reduction. STTF 12, 155–170 (2010)CrossRefGoogle Scholar
  10. 10.
    Faragó, D.: Model Checking of Randomized Leader Election Algorithms. Master’s thesis, Universität Karlsruhe (2007)Google Scholar
  11. 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)CrossRefGoogle Scholar
  12. 12.
    Holzmann, G.: The spin Model Checker: Primer&Ref. Man. Addison-Wesley (2011)Google Scholar
  13. 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)CrossRefGoogle Scholar
  14. 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. 15.
    Holzmann, G., Peled, D., Yannakakis, M.: On nested depth first search. In: SPIN, pp. 23–32. American Mathematical Society (1996)Google Scholar
  16. 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)CrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar
  18. 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)CrossRefGoogle Scholar
  19. 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. 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. 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)CrossRefGoogle Scholar
  22. 22.
    Moore, G.: Cramming more Components onto Integrated Circuits. Electronics 38(10), 114–117 (1965)Google Scholar
  23. 23.
    Pater, E.: Partial Order Reduction for PINS, Master’s thesis. Uni. of Twente (2011)Google Scholar
  24. 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)CrossRefGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 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)CrossRefGoogle Scholar
  27. 27.
    Vardi, M., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: LICS, pp. 332–344 (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Alfons Laarman
    • 1
  • David Faragó
    • 2
  1. 1.Formal Methods and ToolsUniversity of TwenteThe Netherlands
  2. 2.Logic and Formal MethodsKarlsruhe Institute of TechnologyGermany

Personalised recommendations