Abstract
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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Broy, M., Jonsson, B., Katoen, J.P., Leucker, M., Pretschner, A. (eds.): Model-Based Testing of Reactive Systems. LNCS, vol. 3472. Springer, Heidelberg (2005)
Utting, M., Legeard, B.: Practical Model-Based Testing - A tools approach. Elsevier Science, Amsterdam (2006)
Leuschel, M., Butler, M.: ProB: An automated analysis toolset for the B method. Software Tools for Technology Transfer 10(2), 185–203 (2008)
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)
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)
Marlet, R., Mesnil, C.: Demoney: A demonstrative electronic purse. Technical Report SECSAFE-TL-007, Trusted Logic (2002)
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)
Weiser, M.: Program slicing. IEEE Transactions on Software Engineering SE-10(4), 352–357 (1984)
Couchot, J.F., Giorgetti, A., Stouls, N.: Graph-based Reduction of Program Verification Conditions. In: AFM 2009 (2009)
Abrial, J.R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Abrial, J.R.: Extending B without changing it (for developing distributed systems). In: 1st B Conference, pp. 169–190 (1996)
Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 10(12), 576–580 (1969)
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)
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)
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)
Thimbleby, H.: The directed chinese postman problem. Software: Practice and Experience 33(11), 1081–1096 (2003)
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)
Friedman, G., Hartman, A., Nagin, K., Shiran, T.: Projected state machine coverage for software testing. In: ISSTA, pp. 134–143 (2002)
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)
Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254. Springer, Heidelberg (1997)
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)
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)
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)
Clarke, E., Grumberg, O., Long, D.: Model Checking and Abstraction. TOPLAS 1994, ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)
Sipma, H., Uribe, T., Manna, Z.: Deductive model checking. Formal Methods in System Design 15(1), 49–74 (1999)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Julliand, J., Stouls, N., Bué, Pc., Masson, PA. (2010). Syntactic Abstraction of B Models to Generate Tests. In: Fraser, G., Gargantini, A. (eds) Tests and Proofs. TAP 2010. Lecture Notes in Computer Science, vol 6143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13977-2_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-13977-2_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13976-5
Online ISBN: 978-3-642-13977-2
eBook Packages: Computer ScienceComputer Science (R0)