Syntactic Abstraction of B Models to Generate Tests

  • Jacques Julliand
  • Nicolas Stouls
  • Pierre-christophe Bué
  • Pierre-Alain Masson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6143)


In a model-based testing approach as well as for the verification of properties, B models provide an interesting solution. However, for industrial applications, the size of their state space often makes them hard to handle. To reduce the amount of states, an abstraction function can be used, often combining state variable elimination and domain abstractions of the remaining variables. This paper complements previous results, based on domain abstraction for test generation, by adding a preliminary syntactic abstraction phase, based on variable elimination. We define a syntactic transformation that suppresses some variables from a B event model, in addition to a method that chooses relevant variables according to a test purpose. We propose two methods to compute an abstraction A of an initial model M. The first one computes A as a simulation of M, and the second one computes A as a bisimulation of M. The abstraction process produces a finite state system. We apply this abstraction computation to a Model Based Testing process.


Abstraction Test Generation (Bi-)Simulation Slicing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Broy, M., Jonsson, B., Katoen, J.P., Leucker, M., Pretschner, A. (eds.): Model-Based Testing of Reactive Systems. LNCS, vol. 3472. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  2. 2.
    Utting, M., Legeard, B.: Practical Model-Based Testing - A tools approach. Elsevier Science, Amsterdam (2006)Google Scholar
  3. 3.
    Leuschel, M., Butler, M.: ProB: An automated analysis toolset for the B method. Software Tools for Technology Transfer 10(2), 185–203 (2008)CrossRefGoogle Scholar
  4. 4.
    Bouquet, F., Couchot, J.F., Dadeau, F., Giorgetti, A.: Instantiation of parameterized data structures for model-based testing. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 96–110. Springer, Heidelberg (2006)Google Scholar
  5. 5.
    Bouquet, F., Bué, P.C., Julliand, J., Masson, P.A.: Test generation based on abstraction and test purposes to complement structural tests. In: A-MOST 2010, 6th int. Workshop on Advances in Model Based Testing, Paris, France (April 2010)Google Scholar
  6. 6.
    Marlet, R., Mesnil, C.: Demoney: A demonstrative electronic purse. Technical Report SECSAFE-TL-007, Trusted Logic (2002)Google Scholar
  7. 7.
    Bert, D., Potet, M.L., Stouls, N.: GeneSyst: a Tool to Reason about Behavioral Aspects of B Event Specifications. In: Treharne, H., King, S., Henson, M. C., Schneider, S. (eds.) ZB 2005. LNCS, vol. 3455, pp. 299–318. Springer, Heidelberg (2005)Google Scholar
  8. 8.
    Weiser, M.: Program slicing. IEEE Transactions on Software Engineering SE-10(4), 352–357 (1984)CrossRefGoogle Scholar
  9. 9.
    Couchot, J.F., Giorgetti, A., Stouls, N.: Graph-based Reduction of Program Verification Conditions. In: AFM 2009 (2009)Google Scholar
  10. 10.
    Abrial, J.R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  11. 11.
    Abrial, J.R.: Extending B without changing it (for developing distributed systems). In: 1st B Conference, pp. 169–190 (1996)Google Scholar
  12. 12.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 10(12), 576–580 (1969)CrossRefGoogle Scholar
  13. 13.
    Brückner, I., Wehrheim, H.: Slicing an Integrated Formal Method for Verification. In: Lau, K. K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 360–374. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Bellegarde, F., Julliand, J., Kouchnarenko, O.: Ready-simulation is not ready to express a modular refinement relation. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 266–283. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Julliand, J., Masson, P.A., Tissot, R.: Generating security tests in addition to functional tests. In: AST 2008, pp. 41–44. ACM Press, New York (2008)CrossRefGoogle Scholar
  16. 16.
    Thimbleby, H.: The directed chinese postman problem. Software: Practice and Experience 33(11), 1081–1096 (2003)CrossRefGoogle Scholar
  17. 17.
    Bouquet, F., Bué, P.C., Julliand, J., Masson, P.A.: Génération de tests à partir de critères dynamiques de sélection et par abstraction. In: AFADL 2009, Toulouse, France, January 2009, pp. 161–176 (2009)Google Scholar
  18. 18.
    Friedman, G., Hartman, A., Nagin, K., Shiran, T.: Projected state machine coverage for software testing. In: ISSTA, pp. 134–143 (2002)Google Scholar
  19. 19.
    Dick, J., Faivre, A.: Automating the generation and sequencing of test cases from model-based specifications. In: Larsen, P.G., Woodcock, J.C.P. (eds.) FME 1993. LNCS, vol. 670, pp. 268–284. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  20. 20.
    Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997)Google Scholar
  21. 21.
    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. Springer, Heidelberg (1998)Google Scholar
  22. 22.
    Colon, M., Uribe, T.: Generating finite-state abstractions of reactive systems using decision procedures. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)Google Scholar
  23. 23.
    Chan, W., Anderson, R., Beame, P., Notkin, D.: Combining Constraint Solving and Symbolic Model Checking for a Class of Systems with Non-Linear Constraints. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997)Google Scholar
  24. 24.
    Clarke, E., Grumberg, O., Long, D.: Model Checking and Abstraction. TOPLAS 1994, ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)CrossRefGoogle Scholar
  25. 25.
    Sipma, H., Uribe, T., Manna, Z.: Deductive model checking. Formal Methods in System Design 15(1), 49–74 (1999)CrossRefGoogle Scholar
  26. 26.
    Namjoshi, K.S., Kurshan, R.P.: Syntactic program transformations for automatic abstraction. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 435–449. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jacques Julliand
    • 1
  • Nicolas Stouls
    • 2
  • Pierre-christophe Bué
    • 1
  • Pierre-Alain Masson
    • 1
  1. 1.LIFCUniversité de Franche-ComtéBesançon Cedex
  2. 2.INSA-Lyon, CITIUniversité de Lyon, INRIAFrance

Personalised recommendations