Visualising Larger State Spaces in ProB

  • Michael Leuschel
  • Edd Turner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3455)


ProB is an animator and model checker for the B method. It also allows to visualise the state space of a B machine in graphical way. This is often very useful and allows users to quickly spot whether the machine behaves as expected. However, for larger state spaces the visualisation quickly becomes difficult to grasp by users (and the computation of the graph layout takes considerable time). In this paper we present two relatively simple algorithms to often considerably reduce the complexity of the graphs, while still keeping relevant information. This makes it possible to visualise much larger state spaces and gives the user immediate feedback about the overall behaviour of a machine. The algorithms have been implemented within the ProB toolset and we highlight their potential on several examples. We also conduct a thorough experimentation of the algorithm on 47 B machines and analyse the results.


Formal Methods B-Method Tool Support Model Checking Animation Visualisation Logic Programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Aho, A.V., Sethi, R., Ullman, J.D.: Compilers — Principles, Techniques and Tools. Addison-Wesley, Reading (1986)Google Scholar
  3. 3.
    Ambert, F., Bouquet, F., Chemin, S., Guenaud, S., Legeard, B., Peureux, F., Utting, M., Vacelet, N.: BZ-testing-tools: A tool-set for test generation from Z and B using constraint logic programming. In: Proceedings of FATES 2002, Formal Approaches to Testing of Software. Technical Report, INRIA, August 2002, pp. 105–120 (2002)Google Scholar
  4. 4.
    AT&T Labs-Research. Graphviz - open source graph drawing software. Obtainable at,
  5. 5.
    B-Core (UK) Limited, Oxon, UK. B-Toolkit, On-line manual(1999), Available at,
  6. 6.
    Bensalem, S., Lakhnech, Y., Owre, S.: Computing abstractions of infinite state systems compositionally and automatically. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 319–331. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  7. 7.
    Bouquet, F., Legeard, B., Peureux, F.: CLPS-B - a constraint solver for B. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 188–204. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  8. 8.
    Casner, S., Larkin, J.: Cognitive Efficiency Considerations for Good Graphic Design. In: 11th Annual Conf. of the Cognitive Science Society, Ann Arbor, Michigan (August 1989)Google Scholar
  9. 9.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  10. 10.
    Ham, H.W.F., Wijk, J.: Visualization of State Transition Graphs. In: IEEE Symposium on Information Visualization, San Diego, CA, USA, October 2001, pp. 59–63 (2001)Google Scholar
  11. 11.
    Fitter, M., Green, T.: When Do Diagrams Make Good Programming Languages? Int. Journal of Man-Machine Studies, 235–261 (1979)Google Scholar
  12. 12.
    Groote, J., Ham, F.: Large State Space Visualization. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 585–590. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Herman, I., Melanon, G., Marshall, M.S.: Graph Visualization and Navigation in Information Visualization: A Survey. IEEE Transactions on Visualization and Computer Graphics 6(1), 24–43 (2000)CrossRefGoogle Scholar
  14. 14.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)zbMATHGoogle Scholar
  15. 15.
    Ilie, L., Yu, S.: Algorithms for Computing Small NFAs. In: Diks, K., Rytter, W. (eds.) MFCS 2002. LNCS, vol. 2420, p. 328. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Jiang, T., Ravikunar, B.: Minimal NFA Problems are Hard. SIAM Journal on Computing 22(6), 1117–1141 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    John, S.A.: Minimal Unambigous ε-NFA. In: Domaratzki, M., Okhotin, A., Salomaa, K., Yu, S. (eds.) CIAA 2004. LNCS, vol. 3317, pp. 190–201. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    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
  19. 19.
    Leuschel, M., Turner, E.: Visualising larger states spaces in ProB. Technical report, School of Electronics and Computer Science, University of Southampton (January 2005)Google Scholar
  20. 20.
    Malcher, A.: Minimizing Finite Automata is Computationally Hard. In: Ésik, Z., Fülöp, Z. (eds.) DLT 2003. LNCS, vol. 2710, pp. 386–397. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  21. 21.
    Dulac, N.L.N., Viguier, T., Storey, M.-A.: On the use of Visualization in Formal Requirements Specification. In: IEEE Joint International Conference on Requirements Engineering, Essen, Germany, September 2002, pp. 71–81 (2002)Google Scholar
  22. 22.
    Rusu, V., Singerman, E.: On proving safety properties by integrating static analysis, theorem proving and abstraction. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, p. 178. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  23. 23.
    Sadi, H., Shankar, N.: Abstract and model check while you prove. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 319–331. Springer, Heidelberg (1999)Google Scholar
  24. 24.
    Steria, Aix-en-Provence, France. Atelier B, User and Reference Manuals (1996) Available at,

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Michael Leuschel
    • 1
    • 2
  • Edd Turner
    • 1
  1. 1.Department of Electronics and Computer ScienceUniversity of SouthamptonHighfield, SouthamptonUK
  2. 2.Institut für InformatikHeinrich-Heine Universität Düsseldorf 

Personalised recommendations