Advertisement

Improving Parallel State-Space Exploration Using Genetic Algorithms

  • Etienne RenaultEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11181)

Abstract

The verification of temporal properties against a given system may require the exploration of its full state space. In explicit model-checking this exploration uses a Depth-First-Search (DFS) and can be achieved with multiple randomized threads to increase performance.

Nonetheless the topology of the state-space and the exploration order can cap the speedup up to a certain number of threads. This paper proposes a new technique that aims to tackle this limitation by generating artificial initial states, using genetic algorithms. Threads are then launched from these states and thus explore different parts of the state space.

Our prototype implementation runs 10% faster than state-of-the-art algorithms. These results demonstrate that this novel approach worth to be considered as a way to overcome existing limitations.

References

  1. 1.
    Ammann, P.E., Black, P.E., Majurski, W.: Using model checking to generate tests from specifications. In: ICFEM 1998, pp. 46–54, December 1998Google Scholar
  2. 2.
    Barnat, J., Brim, L., Ročkai, P.: Scalable shared memory LTL model checking. STTT 12(2), 139–153 (2010)CrossRefGoogle Scholar
  3. 3.
    Bloemen, V., van de Pol, J.: Multi-core SCC-based LTL model checking. In: Bloem, R., Arbel, E. (eds.) HVC 2016. LNCS, vol. 10028, pp. 18–33. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-49052-6_2CrossRefGoogle Scholar
  4. 4.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond. In: Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science, pp. 1–33. IEEE (1990)Google Scholar
  5. 5.
    Courcoubetis, C., Vardi, M., Wolper, P., Yannakakis, M.: Memory efficient algorithms for the verification of temporal properties. In: Clarke, E.M., Kurshan, R.P. (eds.) CAV 1990. LNCS, vol. 531, pp. 233–242. Springer, Heidelberg (1991).  https://doi.org/10.1007/BFb0023737CrossRefzbMATHGoogle Scholar
  6. 6.
    Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, É., Xu, L.: Spot 2.0 — a framework for LTL and \(\omega \)-automata manipulation. In: Artho, C., Legay, A., Peled, D. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 122–129. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-46520-3_8CrossRefGoogle Scholar
  7. 7.
    Garavel, H., Mateescu, R., Smarandache, I.: Parallel state space construction for model-checking. Technical report RR-4341, INRIA (2001)Google Scholar
  8. 8.
    Godefroid, P., Khurshid, S.: Exploring very large state spaces using genetic algorithms. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 266–280. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-46002-0_19CrossRefzbMATHGoogle Scholar
  9. 9.
    Godefroid, P., Holzmann, G.J., Pirottin, D.: State space caching revisited. In: von Bochmann, G., Probst, D.K. (eds.) CAV 1992. LNCS, vol. 663, pp. 178–191. Springer, Heidelberg (1993).  https://doi.org/10.1007/3-540-56496-9_15CrossRefGoogle Scholar
  10. 10.
    Holland, J.H.: Genetic Algorithms. Scientific American (1992)Google Scholar
  11. 11.
    Holzmann, G.J.: On limits and possibilities of automated protocol analysis. In: PSTV 1987, pp. 339–344. North-Holland, May 1987Google Scholar
  12. 12.
    Holzmann, G.J., Bosnacki, D.: The design of a multicore extension of the SPIN model checker. IEEE Trans. Softw. Eng. 33(10), 659–674 (2007)CrossRefGoogle Scholar
  13. 13.
    Holzmann, G.J., Joshi, R., Groce, A.: Swarm verification techniques. IEEE Trans. Softw. Eng. 37(6), 845–857 (2011)CrossRefGoogle Scholar
  14. 14.
    Katz, G., Peled, D.A.: Synthesis of parametric programs using genetic programming and model checking. In: INFINITY 2013, pp. 70–84 (2013)Google Scholar
  15. 15.
    Laarman, A., Pater, E., Pol, J., Hansen, H.: Guard-based partial-order reduction. STTT 18, 1–22 (2014)Google Scholar
  16. 16.
    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).  https://doi.org/10.1007/978-3-540-73370-6_17CrossRefGoogle Scholar
  17. 17.
    Pelánek, R.: Properties of state spaces and their applications. Int. J. Softw. Tools Technol. Transf. (STTT) 10, 443–454 (2008)CrossRefGoogle Scholar
  18. 18.
    Pelánek, R., Hanžl, T., Černá, I., Brim, L.: Enhancing random walk state space exploration. In: FMICS 2005, pp. 98–105. ACM Press (2005)Google Scholar
  19. 19.
    Peled, D.: Combining partial order reductions with on-the-fly model-checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 377–390. Springer, Heidelberg (1994).  https://doi.org/10.1007/3-540-58179-0_69CrossRefGoogle Scholar
  20. 20.
    Reif, J.H.: Depth-first search is inherently sequential. Inf. Process. Lett. 20, 229–234 (1985)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Renault, E., Duret-Lutz, A., Kordon, F., Poitrenaud, D.: Variations on parallel explicit model checking for generalized Büchi automata. Int. J. Softw. Tools Technol. Transf. (STTT) 19, 1–21 (2016)zbMATHGoogle Scholar
  22. 22.
    Sivaraj, H., Gopalakrishnan, G.: Random walk based heuristic algorithms for distributed memory model checking. Electron. Not. Theor. Comput. Sci. 89(1), 51–67 (2003)CrossRefGoogle Scholar
  23. 23.
    Valmari, A.: Stubborn sets for reduced state space generation. In: Rozenberg, G. (ed.) ICATPN 1989. LNCS, vol. 483, pp. 491–515. Springer, Heidelberg (1991).  https://doi.org/10.1007/3-540-53863-1_36CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  1. 1.LRDE, EPITAKremlin-BicêtreFrance

Personalised recommendations