Abstract
A major concern in model-driven engineering is how to ensure the quality of the model-transformation mechanisms. One validation method that is commonly used is model transformation testing. When using this method, two important issues need to be addressed: the efficient generation/selection of test cases and the definition of oracle functions that assess the validity of the transformed models. This work is concerned with the latter. We propose a novel oracle function for model transformation testing that relies on the premise that the more a transformation deviates from well-known good transformation examples, the more likely it is erroneous. More precisely, the proposed oracle function compares target test cases with a base of examples that contains good quality transformation traces, and then assigns a risk level to them accordingly. Our approach takes inspiration from the biological metaphor of immune systems, where pathogens are identified by their difference with normal body cells. A significant feature of the approach is that one no longer needs to define an expected model for each test case. Furthermore, the detected faulty candidates are ordered by degree of risk, which helps the tester inspect the results. The validation results on a transformation mechanism used by an industrial partner confirm the effectiveness of our approach.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Alanen, M., Porres, I.: Difference and union of models. In: UML’03, USA (2003)
Baresel, A., Sthamer, H., Schmidt, M.: Fitness function design to improve evolutionary structural testing. In: GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 1329–1336 (2002)
Baresel, A., Binkley, D.W., Harman, M., Korel, B.: Evolutionary testing in the presence of loop-assigned flags: A testability transformation approach. In: International Symposium on Software Testing and Analysis (ISSTA 2004), Omni Parker House Hotel, Boston, MA, July 2004, pp. 108–118 (2004). Appears in Softw. Eng. Notes 29(4)
Baudry, B., Fleurey, F., Jezequel, J.-M., Traon, Y.L.: Automatic test cases optimization using a bacteriological adaptation model: Application to .net components. In: ASE (2002)
Baudry, B., Dinh-Trong, T., Mottu, J.-M., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Traon, Y.L.: Model transformation testing challenges. In: IMDT Workshop (2006)
Bezivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: OOPSLA/GPCE 2004 Workshop (2004)
Bézivin, J., Rumpe, B., Schürr, A., Tratt, L.: MTIP workshop. Available from: http://sosym.dcs.kcl.ac.uk/events/mtip05/long_cfp.pdf (2005)
Brottier, E., Fleurey, F., Steel, J., Baudry, B., Traon, Y.L.: Metamodel-based test generation for model transformations: an algorithm and a tool. In: Proceedings of SSRE (2006)
Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: Proceedings of Workshop OCL and MDE (2004)
Carrillo, H., Lipman, D.: The multiple sequence alignment problem in biology. SIAM J. Appl. Math. 48(5), 1072–1082 (1988)
Catal, C., Diri, B.: Software defect prediction using artificial immune recognition system. In: Proceedings of IASTED international Multi-Conference, pp. 285–290 (2007)
Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: OOSPLA 2003, Anaheim, USA (2003)
Darabos, A., Pataricza, A., Varro, D.: Towards testing the implementation of graph transformations. In: Proceedings of GT-VMT Workshop Associated to ETAPS’06, Vienna, Austria, pp. 69–80 (2006)
Dasgupta, D., Ji, Z., Gonzalez, F.: Artificial immune system (ais) research in the last five years. In: IEEE Congress on Evolutionary Computation (1), pp. 123–130. IEEE, New York (2003)
Falleri, J.-R., Huchard, M., Nebut, C.: Towards a traceability framework for model transformations in Kermeta. In: Proceedings of the European Conference on MDA Traceability Workshop, Bilbao, Spain (2006)
Fleurey, F., Steel, J., Baudry, B.: Validation in model-driven engineering: testing model transformations. In: 15th IEEE International Symposium on Software Reliability Engineering (2004)
Fleurey, F., Baudry, B., Muller, P.A., Traon, Y.: Qualifying input test data for model transformations. In: Software and Systems Modeling (2008)
Forrest, S., Perelson, A.S., Allen, L., Kuri, R.C.: Self nonself discrimination in a computer. In: Proceedings of the 1994 IEEE Symposium on Research in Security and Privacy (1994)
France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: ICSE 2007: Future of Software Engineering (2007)
Goldberg, D.E.: Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading (1989)
Gonzalez, F., Dasgupta, D.: Anomaly detection using real-valued negative selection. Genet. Program. Evolv. Mach. 4(4), 383–403 (2003)
Harman, M.: The current state and future of search based software engineering. In: Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), 20–26 May, Minneapolis, USA (2007)
Kessentini, M., Sahraoui, H., Boukadoum, M.: Model transformation as an optimization problem. In: Proc. MODELS 2008. LNCS, vol. 5301, pp. 159–173. Springer, Berlin (2008)
Kessentini, M., Sahraoui, H., Boukadoum, M.: Search-based model transformation by example. J. Softw. Syst. Model. (2010). doi:10.1007/s10270-010-0175-7
Khuller, S., Raghavachari, B.: Graph and network algorithms. ACM Comput. Surv. 28(1), 43–45 (1999)
Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model comparison: a foundation for model composition and model transformation testing. In: Proc. GaMMa (2006)
Kuby, J., Kindt, T.J., Osborne, B.A., Goldsby, R.A.: Immunology, 3rd edn. Freeman, New York (1997)
Küster, J.M.: Definition and validation of model transformations. Softw. Syst. Model. 5(3), 233–259 (2006)
Kuster, J., Abd-El-Razik, M.: Validation of model transformations—first experiences using a white box approach. In: MoDeVa’06 (2006)
Lin, Y., Zhang, J., Gray, J.: A testing framework for model transformations. In: Model-Driven Software Development. Springer, Berlin (2005)
McMinn, P.: Search-based software test data generation: A survey. Softw. Test. Verif. Reliab. 14(2), 105–156 (2004)
Mottu, J.-M., Baudry, B., LeTraon, Y.: Mutation analysis testing for model transformations. In: Proceedings of ECMDA’06 (European Conference on Model Driven Architecture), Bilbao, Spain (2006)
Mottu, J.M., Baudry, B., Traon, Y.L.: Model transformation testing: Oracle issue. In: Proc. of ICST08 (2008)
Sampath, P., Rajeev, A.C., Ramesh, S., Shashidhar, K.C.: Testing model-processing tools for embedded systems. In: IEEE Real-Time and Embedded Technology and Applications Symposium, pp. 203–214 (2007)
Steel, J., Lawley, M.: Model-based test driven development of the Tefkat model- transformation engine. In: ISSRE’04, pp. 151–160. IEEE, New York (2004)
Sun, Y., White, J., Gray, J.: Model transformation by demonstration. In: MoDELS09 (2009)
Varro, D., Balogh, Z.: Automating model transformation by example using inductive logic programming. In: ACM Symposium (SAC 2007) (2007)
Varró, D., Pataricza, A.: Automated formal verification of model transformations. In: Jürjens, J., Rumpe, B., France, R., Fernandez, E.B. (eds.) CSDUML 2003: Critical Systems Development in UML; Proceedings of the UML’03 Workshop, Technical Report, pp. 63–78. Technische Universität, München (2003)
Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards model transformation generation by-example. In: HICSS-40 Hawaii International Conference on System Sciences (2007)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kessentini, M., Sahraoui, H. & Boukadoum, M. Example-based model-transformation testing. Autom Softw Eng 18, 199–224 (2011). https://doi.org/10.1007/s10515-010-0079-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-010-0079-3