Distributed Model Checking Using ProB

  • Philipp KörnerEmail author
  • Jens Bendisposto
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10811)


Model checking larger specifications can take a lot of time, from several minutes up to weeks. Naturally, this renders the development of a correct specification very cumbersome. If the model offers enough non-determinism, however, we can distribute the workload onto multiple computers in order to reduce the runtime.

In this paper, we present distb, a distributed version of ProB’s model checker. Furthermore, we show possible speed-ups for real-life formal models on both a single workstation and a high-performance cluster.



Computational support and infrastructure was provided by the “Centre for Information and Media Technology” (ZIM) at the University of Düsseldorf (Germany).


  1. 1.
    Abrial, J.-R.: Modeling in Event-B: System and Software Engineering, 1st edn. Cambridge University Press, Cambridge (2010)CrossRefzbMATHGoogle Scholar
  2. 2.
    Abrial, J.-R., Lee, M.K.O., Neilson, D.S., Scharbach, P.N., Sørensen, I.H.: The B-method. In: Prehn, S., Toetenel, H. (eds.) VDM 1991. LNCS, vol. 552, pp. 398–405. Springer, Heidelberg (1991). CrossRefGoogle Scholar
  3. 3.
    Bagwell, P.: Ideal Hash Trees. Es Grands Champs, vol. 1195 (2001)Google Scholar
  4. 4.
    Bendisposto, J., Körner, P., Leuschel, M., Meijer, J., van de Pol, J., Treharne, H., Whitefield, J.: Symbolic reachability analysis of B through ProB and LTSmin. In: Ábrahám, E., Huisman, M. (eds.) IFM 2016. LNCS, vol. 9681, pp. 275–291. Springer, Cham (2016). CrossRefGoogle Scholar
  5. 5.
    Bendisposto, J., Leuschel, M.: Proof assisted model checking for B. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 504–520. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  6. 6.
    Bendisposto, J.M.: Directed and distributed model checking of B-specifications. Ph.D. thesis, Universitäts- und Landesbibliothek der Heinrich-Heine-Universität Düsseldorf (2015)Google Scholar
  7. 7.
    Blom, S., van de Pol, J., Weber, M.: LTSmin: distributed and symbolic reachability. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 354–359. Springer, Heidelberg (2010). CrossRefGoogle Scholar
  8. 8.
    Carlsson, M., Widen, J., Andersson, J., Andersson, S., Boortz, K., Nilsson, H., Sjöland, T.: SICStus Prolog User’s Manual, vol. 3. Swedish Institute of Computer Science Kista, Sweden (1988)Google Scholar
  9. 9.
    DEPLOY Deliverable: D20-Report on Pilot Deployment in the Space Sector. FP7 ICT DEPLOY Project, January 2010.
  10. 10.
    Ghemawat, S., Dean, J.: LevelDB (2011).
  11. 11.
    Hansen, D., Ladenberger, L., Wiegard, H., Bendisposto, J., Leuschel, M.: Validation of the ABZ landing gear system using ProB. In: Boniol, F., Wiels, V., Ait Ameur, Y., Schewe, K.-D. (eds.) ABZ 2014. CCIS, vol. 433, pp. 66–79. Springer, Cham (2014). CrossRefGoogle Scholar
  12. 12.
    Hansen, D., Leuschel, M.: Translating TLA\(^{+}\) to B for validation with ProB. In: Derrick, J., Gnesi, S., Latella, D., Treharne, H. (eds.) IFM 2012. LNCS, vol. 7321, pp. 24–38. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  13. 13.
    Hansen, D., Leuschel, M.: Translating B to TLA\(^{+}\) for validation with TLC. In: Ait Ameur, Y., Schewe, K.D. (eds.) ABZ 2014. LNCS, vol. 8477, pp. 40–55. Springer, Heidelberg (2014). CrossRefGoogle Scholar
  14. 14.
    Hintjens, P.: ZeroMQ: Messaging for Many Applications. O’Reilly Media Inc., Newton (2013)Google Scholar
  15. 15.
    Holzmann, G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)CrossRefGoogle Scholar
  16. 16.
    Knuth, D.E.: The Art of Computer Programming: Sorting and Searching, vol. III. Addison-Wesley, Boston (1973)zbMATHGoogle Scholar
  17. 17.
    Körner, P.: Improving distributed model checking in ProB. Bachelor’s thesis, Heinrich Heine Universität Düsseldorf, August 2014Google Scholar
  18. 18.
    Körner, P.: An integration of ProB and LTSmin. Master’s thesis, Heinrich Heine Universität Düsseldorf, February 2017Google Scholar
  19. 19.
    Lerda, F., Sisto, R.: Distributed-memory model checking with SPIN. In: Dams, D., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 22–39. Springer, Heidelberg (1999). CrossRefGoogle Scholar
  20. 20.
    Leuschel, M.: The high road to formal validation: model checking high-level versus low-level specifications. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, pp. 4–23. Springer, Heidelberg (2008). CrossRefGoogle Scholar
  21. 21.
    Leuschel, M., Butler, M.: ProB: a model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 855–874. Springer, Heidelberg (2003). CrossRefGoogle Scholar
  22. 22.
    Prokopec, A., Bagwell, P., Odersky, M.: Cache-aware lock-free concurrent hash tries. arXiv preprint arXiv:1709.06056 (2017)
  23. 23.
    Sayrafiezadeh, M.: The birthday problem revisited. Math. Mag. 67(3), 220–223 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Venkatramani, C., Chiueh, T.-C.: Design, implementation, and evaluation of a software-based real-time ethernet protocol. ACM SIGCOMM Comput. Commun. Rev. 25(4), 27–37 (1995)CrossRefGoogle Scholar
  25. 25.
    Yeo, C.K., Lee, B.-S., Er, M.: A survey of application level multicast techniques. Comput. Commun. 27(15), 1547–1568 (2004)CrossRefGoogle Scholar
  26. 26.
    Yu, Y., Manolios, P., Lamport, L.: Model checking TLA\(^{+}\) specifications. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 54–66. Springer, Heidelberg (1999). CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Institut für InformatikUniversität DüsseldorfDüsseldorfGermany

Personalised recommendations