Abstract
Many researchers have pursued the establishment of a low-cost, effective testing and validation strategy at the program level as well as at the specification level. Mutation Testing is an error-based approach, originally introduced for program testing, that provides testers a systematic way to evaluate how good a given test set is. Some studies have also investigated its use to generate test sets. In this article, the application of Mutation Testing for validating Estelle specifications is proposed. A mutant operator set for Estelle—one of the crucial points for effectively applying Mutation Testing—is defined, addressing: the validation of the behavior of the modules, the communication among modules and the architecture of the specification. In this scope, these operators can be taken as a fault model. Considering this context, a strategy for validating Estelle-based specification is proposed and exemplified using the Alternating-bit protocol.
Similar content being viewed by others
References
Agrawal, H., et al. 1989. Design of mutant operators for the C programming language. Purdue University, Purdue, TR SERC-TR-41-P.
Amer, P.D., Sethi, A.S., and Fecko, M. 1997. Formal design and testing of army communication protocols based on Estelle. Proc. 1st ARLrATIRP Conf., College Park, pp. 107–114.
Barbosa, E.F., Vincenzi, A.M.R., and Maldonado, J.C. 1998. A contribution for the determination of an essential mutant operator set for C programs. Proc. XII SBES'98—Brazilian Software Engineering Symp., Maringá, PR, Brazil (in Portuguese).
Bochmann, G.v., and Petrenko, A. 1994. Protocol testing: review of methods and relevance for software testing. Proc. ISSTA'94—Int. Symp. Software Testing and Analysis, ACM Software Engineering Notes, pp. 109–124.
Budkowski, S., and Dembinski, P. 1987. An introduction to Estelle: a specification language for distributed systems, Compu. Network ISDN Syst., 14(1): 3–23.
Chow, T.S. 1978. Testing software design modeled by finite-state machines, IEEE Trans. Software Eng. SE-4(3): 178–187.
Delamaro, M.E. 1993. Proteum—a test environment based on the mutation analysis. M.Sc. thesis, ICMC/USP, São Carlos, SP, Brazil in (Portuguese).
Delamaro, M.E. 1997. Interface mutation: an inter-procedural adequacy criterion for integration testing. Ph.D. thesis, IFSC/USP, São Carlos, SP, Brazil (in Portuguese).
Delamaro, M.E., Maldonado, J.C., and Mathur, A.P. 2000. Interface mutation: an approach for integration testing, IEEE Trans. Software Eng. to appear.
DeMillo, R.A., Lipton, R.J., and Sayward, F.G. 1978. Hints on test data selection: help for the practicing programmer, IEEE Comput. 11(4): 34–41.
DeMillo, R.A. 1980. Mutation analysis as a tool for software quality assurance. Proc. COMPSAC 80, Chicago, IL.
Fabbri, S.C.P.F., Maldonado, J.C., Delamaro, M.E., and Masiero, P.C. 1994. Mutation analysis testing for finite state machine. Proc. ISSRE'94—Fifth Int. Symp. Software Reliability Eng., California, USA, pp. 220–229.
Fabbri, S.C.P.F., Maldonado, J.C., Masiero, P.C., Delamaro, M.E., and Wong, E. 1995. Mutation testing applied to validate specifications based on Petri nets. Proc. FORTE'95—8th Int. IFIP Conf. Formal Description Techniques for Distributed Sys. Commun. Protocol, Montreal, Canada.
Fabbri, S.C.P.F., Maldonado, J.C., Sugeta, T., and Masiero, P.C. 1999. Mutation testing applied to validate specifications based on Statecharts. Proc. ISSRE'99—10th Int. Symp. Software Reliability Eng., Florida, pp. 210–219.
Fecko, M.A., Uyar, M.U., Amer, P.D., and Sethi, A.S. 1998. Optimum test sequence generation from Estelle specifications. Proc. Estelle'98, Paris.
Henniger, O., Ulrich, A., and König, H. 1995. Transformation of Estelle modules aiming at test case generation. Proc. IWPTS'95—IFIP Int. Workshop on Protocol Test Syst., Paris, pp. 45–60.
ISO/TC97/SC21/WG1/DIS9074. 1987. Estelle—a formal description technique based on an extended state transition model.
Lopes de Souza, W. 1989. Estelle: a technique for the formal description of services and communication protocols, Rev. Bras. Comput. SBC 5(1).
Myers, G. 1979. The Art of Software Testing. New York, Wiley.
Offutt, A.J., Lee, A., Rothermel, G., Untch, R.H., and Zapf, C. 1996. An experimental determination of sufficient mutant operators. ACM Trans. Software Eng. Methodol. 5(2): 99–118.
Probert, R.L., and Guo, F. 1991. Mutation testing of protocols: principles and preliminary experimental results. In Davidson, I., and Litwack, D.W., Eds. Proc. Protocol Test Systems, III, North-Holland, pp. 57–76.
rRapps, S., and Weyuker, E.J. 1985. Selecting software test data using data flow information. IEEE Trans. Software Eng. 11(4): 367–375.
Simão, A.S. 2000. Proteum-Rs/PN: a tool to support the validation of Petri Net specification based on the Mutation Testing. M.Sc. thesis, ICMC/USP, São Carlos, SP, Brazil in (preparation).
Tracz, W. 1996. Test and analysis of software architectures. Proc. ISSTA'96——Int. Symp. Software Testing and Anal., ACM Software Engineering Notes, pp. 1–3.
Ural, H. 1992. Formal methods for test sequence generation, Comput. Commun. 15(5): 311–325.
Weyuker, E., Goradia, T., and Singh, A. 1994. Automatically generating test data from a boolean specification, IEEE Trans. Software Eng. 20(5): 353–363.
Wong, W.E., Maldonado, J.C., and Mathur, A.P. 1994. Mutation versus all-uses: an empirical evaluation of cost, strength and effectiveness. Proc. First IFIPrSQI Int. Conf. Software Quality and Productivity, Hong Kong.
rWong, W.E., and Mathur, A.P. 1995. Reducing the cost of mutation testing: an empirical study, J. Syst. Software 31: 185–196.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
de Souza, S.d.R.S., Maldonado, J.C., Fabbri, S.C.P.F. et al. Mutation Testing Applied to Estelle Specifications. Software Quality Journal 8, 285–301 (1999). https://doi.org/10.1023/A:1008978021407
Issue Date:
DOI: https://doi.org/10.1023/A:1008978021407