Skip to main content

Improving Parallel State-Space Exploration Using Genetic Algorithms

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

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

Buying options

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 EPUB and 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

Learn about institutional subscriptions

Notes

  1. 1.

    It should be noted that even if DFS-based algorithms are hard to parallelize [20] they scale better in practice than parallelized Breadth-First Search (BFS) algorithms.

  2. 2.

    See Sect. 6 for more details about the benchmark.

  3. 3.

    This particular case will certainly degrade performance due to contention over the shared hashmap.

  4. 4.

    Godefroid and Khurshid [8] do not generate states but finite paths and their fitness fonction analyzes the whole paths to keep only those with few enabled transitions.

  5. 5.

    Main differences have been highlighted to help the reader.

  6. 6.

    For a description of our setup, including selected models, detailed results and code, see http://www.lrde.epita.fr/~renault/benchs/VECOS-2018/results.html.

  7. 7.

    See http://fmt.cs.utwente.nl/tools/ltsmin/#divine for more details. Also note that we added some patches (available in the webpage) to manage out-of-bound detection.

  8. 8.

    We evaluate other thresholds like 0.9999 or 0.99999 but it appears that augmenting the threshold does not increase performance, see the webpage for more details.

References

  1. Ammann, P.E., Black, P.E., Majurski, W.: Using model checking to generate tests from specifications. In: ICFEM 1998, pp. 46–54, December 1998

    Google Scholar 

  2. Barnat, J., Brim, L., Ročkai, P.: Scalable shared memory LTL model checking. STTT 12(2), 139–153 (2010)

    Article  Google Scholar 

  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_2

    Chapter  Google Scholar 

  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. 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/BFb0023737

    Chapter  MATH  Google Scholar 

  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_8

    Chapter  Google Scholar 

  7. Garavel, H., Mateescu, R., Smarandache, I.: Parallel state space construction for model-checking. Technical report RR-4341, INRIA (2001)

    Google Scholar 

  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_19

    Chapter  MATH  Google Scholar 

  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_15

    Chapter  Google Scholar 

  10. Holland, J.H.: Genetic Algorithms. Scientific American (1992)

    Google Scholar 

  11. Holzmann, G.J.: On limits and possibilities of automated protocol analysis. In: PSTV 1987, pp. 339–344. North-Holland, May 1987

    Google Scholar 

  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)

    Article  Google Scholar 

  13. Holzmann, G.J., Joshi, R., Groce, A.: Swarm verification techniques. IEEE Trans. Softw. Eng. 37(6), 845–857 (2011)

    Article  Google Scholar 

  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. Laarman, A., Pater, E., Pol, J., Hansen, H.: Guard-based partial-order reduction. STTT 18, 1–22 (2014)

    Google Scholar 

  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_17

    Chapter  Google Scholar 

  17. Pelánek, R.: Properties of state spaces and their applications. Int. J. Softw. Tools Technol. Transf. (STTT) 10, 443–454 (2008)

    Article  Google Scholar 

  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. 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_69

    Chapter  Google Scholar 

  20. Reif, J.H.: Depth-first search is inherently sequential. Inf. Process. Lett. 20, 229–234 (1985)

    Article  MathSciNet  Google Scholar 

  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)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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_36

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Etienne Renault .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Renault, E. (2018). Improving Parallel State-Space Exploration Using Genetic Algorithms. In: Atig, M., Bensalem, S., Bliudze, S., Monsuez, B. (eds) Verification and Evaluation of Computer and Communication Systems. VECoS 2018. Lecture Notes in Computer Science(), vol 11181. Springer, Cham. https://doi.org/10.1007/978-3-030-00359-3_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00359-3_9

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00358-6

  • Online ISBN: 978-3-030-00359-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics