NFM 2013: NASA Formal Methods pp 32-47 | Cite as
Improved on-the-Fly Livelock Detection
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 PropertyPreview
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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 9.Evangelista, S., Pajault, C.: Solving the Ignoring Problem for Partial Order Reduction. STTF 12, 155–170 (2010)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
- 27.Vardi, M., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: LICS, pp. 332–344 (1986)Google Scholar