Abstract
This paper proposes the use of equivalence partitioning techniques for testing models and model transformations. In particular, we introduce the concept of classifying terms, which are general OCL terms on a class model enriched with OCL constraints. Classifying terms permit defining equivalence classes, in particular for partitioning the source and target model spaces of the transformation, defining for each class a set of equivalent models with regard to the transformation. Using these classes, a model validator tool is able to automatically construct object models for each class, which constitute relevant test cases for the transformation. We show how this approach of guiding the construction of test cases in an orderly, systematic and efficient manner can be effectively used in combination with Tracts for testing both directional and bidirectional model transformations and for analyzing their behavior.
Similar content being viewed by others
Notes
http://sourceforge.net/projects/useocl/ (USE and ModelValidator plugin).
The required files for the experiments and their results are available online. http://www.db.informatik.uni-bremen.de/publications/intern/ct2016-experiments.zip.
References
Amrani, M., Syriani, E., Wimmer, M. (eds.): Proceedings of the VOLT WS, CEUR WS, vol. 1325 (2014)
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to alloy. Softw. Syst. Model. 9(1), 69–86 (2010)
Andrews, A.A., France, R., Ghosh, S., Craig, G.: Test adequacy criteria for UML design models. Softw. Test. Verif. Reliab. 13, 95–127 (2003)
Aranega, V., Mottu, J.M., Etien, A., Dekeyser, J.L.: Traceability mechanism for error localization in model transformation. In: Proceedings of ICSOFT’09 (2009)
Arisholm, E., Sjøberg, D.I.: Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software. IEEE Trans. Softw. Eng. 30(8), 521–534 (2004)
Baudry, B., Dinh-Trong, T., Mottu, J., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Le Traon, Y.: Model transformation testing challenges. In: ECMDA WS. on Integration of MDD and Model Driven Testing (2006)
Burgueño, L., Wimmer, M., Troya, J., Vallecillo, A.: Tractstool: Testing model transformations based on contracts. In: Joint Proceedings of MODELS’13 Demos, Posters, Student Research Competition, CEUR Workshop Proceedings, vol. 1115, pp. 76–80. CEUR-WS.org (2013)
Burgueño, L., Wimmer, M., Troya, J., Vallecillo, A.: Static fault localization in model transformations. IEEE Trans. Softw. Eng. 41(5), 490–506 (2015)
Burnstein, I.: Practical Software Testing. Springer, New York (2003)
Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: Proceedings of ASE’07, pp. 547–548. ACM (2007)
Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: Proceedings of the OCL and Model Driven Engineering Workshop (2004)
Ciancone, A., Filieri, A., Mirandola, R.: MANTra: Towards model transformation testing. In: IEEE Proceedings of QUATIC’10, pp. 97–105 (2010)
Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: JTL: a bidirectional and change propagating transformation language. In: Proceedings of SLE’10, no. 6563 in LNCS, pp. 183–202. Springer (2011). http://jtl.di.univaq.it/
Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. In: Proceedings of ICMT 2009, no. 5563 in LNCS, pp. 260–283. Springer (2009)
Dingel, J., de Lara, J., Lucio, L., Vangheluwe, H. (eds.): Proceedings of the AMT WS., CEUR WS. Proc., vol. 1277 (2014)
Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From state- to delta-based bidirectional model transformations: the symmetric case. In: Proceedings of MODELS’11, LNCS, vol. 6981, pp. 304–318. Springer (2011)
Diskin, Z.: Algebraic models for bidirectional model synchronization. In: Proceedings of MODELS’08, LNCS, vol. 5301, pp. 21–36. Springer (2008)
Diskin, Z., Xiong, Y., Czarnecki, K.: From state- to delta-based bidirectional model transformations: the asymmetric case. J. Object Technol. 10(6), 1–25 (2011)
Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Softw. Syst. Model. 8, 479–500 (2009)
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3) (2007)
Foster, N., Pilkiewicz, A., Pierce, B.C.: Quotient lenses. SIGPLAN Not. 43(9), 383–396 (2008)
Gabmeyer, S., Brosch, P., Seidl, M.: A classification of model checking-based verification approaches for software models. In: Proceedings of the 1st VOLT Workshop (2013)
García-Domínguez, A., Kolovos, D.S., Rose, L.M., Paige, R.F., Medina-Bulo, I.: EUnit: a unit testing framework for model management tasks. In: Proceedings of MODELS’11, no. 6981 in LNCS, pp. 395–409. Springer (2011)
Giner, P., Pelechano, V.: Test-driven development of model transformations. In: Proceedings of MODELS’09, LNCS, vol. 5795, pp. 748–752. Springer (2009)
Gogolla, M., Kuhlmann, M., Hamann, L.: Consistency, independence and consequences in UML and OCL models. In: Proceedings of TAP’09, LNCS, vol. 5668, pp. 90–104. Springer (2009)
Gogolla, M., Vallecillo, A., Burgueño, L., Hilken, F.: Employing classifying terms for testing model transformations. In: IEEE Proceedings of MODELS’15, pp. 312–321 (2015)
Gogolla, M., Vallecillo, A.: Tractable model transformation testing. In: Proceedings of ECMFA’11, no. 6698 in LNCS, pp. 221–236. Springer (2011)
Gogolla, M., Bohling, J., Richters, M.: Validating UML and OCL models in USE by automatic snapshot generation. Softw. Syst. Model. 4(4), 386–398 (2005)
González, C.A., Cabot, J.: ATLTest: a white-box test generation approach for ATL transformations. In: Proceedings of MODELS’12, LNCS, vol. 7590, pp. 449–464. Springer (2012)
González, C.A., Cabot, J.: Test data generation for model transformations combining partition and constraint analysis. In: Proceedings of ICMT’14, LNCS, vol. 8568, pp. 25–41. Springer (2014)
Grindal, M., Offutt, J., Andler, S.F.: Combination testing strategies: a survey. Softw. Test. Verif. Reliab. 15(3), 167–199 (2005)
Group, A.: Atl zoo (2016). http://www.eclipse.org/atl/atlTransformations/
Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F., Santos, O.: Engineering model transformations with transML. Softw. Syst. Model. 12(3), 555–577 (2013)
Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. Autom. Softw. Eng. 20(1), 5–46 (2013)
Hibberd, M., Lawley, M., Raymond, K.: Forensic debugging of model transformations. In: Proceedings of MODELS’07, LNCS, vol. 4735, pp. 589–604. Springer (2007)
Hilken, F., Burgueño, L., Gogolla, M., Vallecillo, A.: Iterative development of transformation models by using classifying terms. In: Proceedings of AMT’15, CEUR Workshop Proceedings, vol. 1500, pp. 1–6. CEUR-WS.org (2015)
Höst, M., Regnell, B., Wohlin, C.: Using students as subjects–a comparative study of students and professionals in lead-time impact assessment. Empir. Softw. Eng. 5, 201–214 (2000)
Hu, Z., Mu, S., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. High. Order Symb. Comput. 21(1–2), 89–118 (2008)
ISO/IEC 25010:2011: Systems and software engineering—systems and software quality requirements and evaluation (SQuaRE)—system and software quality models. In: ISO/IEC (2011)
ISO/IEC 25022:2016: Systems and software engineering–systems and software quality requirements and evaluation (SQuaRE)–measurement of quality in use. In: ISO/IEC (2011)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)
KPIT medini Technologies: Medini-QVT tool. http://projects.ikv.de/qvt/
Kuhlmann, M., Gogolla, M.: From UML and OCL to relational logic and back. In: Model Driven Engineering Languages and Systems, LNCS, vol. 7590, pp. 415–431. Springer (2012)
Lämmel, R.: Coupled software transformations (extended abstract). In: First International Workshop on Software Evolution Transformations (2004)
Meyer, B.: Applying design by contract. IEEE Comput. 25(10), 40–51 (1992)
Mu, S.C., Hu, Z., Takeichi, M.: An algebraic approach to bi-directional updating. In: Proceedings of APLAS 2004, no. 3302 in LNCS, pp. 2–18. Springer (2004)
Offutt, J., Irvine, A.: Testing object-oriented software using the category-partition method. In: Proceedings of TOOLS USA’95, pp. 293–304 (1995)
Offutt, J., Alluri, C.: An industrial study of applying input space partitioning to test financial calculation engines. Empir. Softw. Eng. 19(3), 558–581 (2014). doi:10.1007/s10664-012-9229-5
OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation. Version 1.2. Object Management Group (2015)
Ostrand, T.J., Balcer, M.J.: The category-partition method for specifying and generating fuctional tests. Commun. ACM 31(6), 676–686 (1988). doi:10.1145/62959.62964
Queralt, A., Artale, A., Calvanese, D., Teniente, E.: OCL-lite: finite reasoning on UML/OCL conceptual schemas. Data Knowl. Eng. 73, 1–22 (2012)
Roldán, M., Durán, F.: Dynamic Validation of OCL Constraints with mOdCL. ECEASST 44 (2011)
Stevens, P.: A landscape of bidirectional model transformations. In: Proceedings of GTTSE’07, no. 5235 in LNCS, pp. 408–424. Springer (2007)
Stevens, P.: Observations relating to the equivalences induced on model sets by bidirectional transformations. ECEASST 49 (2012)
Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)
Stevens, P.: A simple game-theoretic approach to checkonly QVT relations. Softw. Syst. Model. 12(1), 175–199 (2013)
Straeten, R.V.D., Puissant, J.P., Mens, T.: Assessing the Kodkod model finder for resolving model inconsistencies. In: ECMFA, LNCS, vol. 6698, pp. 69–84. Springer (2011)
Torlak, E., Jackson, D.: Kodkod: a relational model finder. In: Proceedings of TACAS’07, pp. LNCS 4424, 632–647 (2007)
Vallecillo, A., Gogolla, M., Burgueño, L., Wimmer, M., Hamann, L.: Formal specification and testing of model transformations. In: Formal Methods for Model-Driven Engineering (SFM). Springer (2012)
Wimmer, M., Kappel, G., Schönböck, J., Kusel, A., Retschitzegger, W., Schwinger, W.: A Petri Net based debugging environment for QVT Relations. In: Proceedings of ASE’09 (2009)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, New York (2012)
Yue, T., Ali, S.: Empirically evaluating OCL and Java for specifying constraints on UML models. Softw. Syst. Model. 15(3), 757–781 (2016)
Acknowledgements
We would like to thank Romina Eramo and Alfonso Pierantonio for their help and support with JTL. This work was partially funded by Spanish Research Project TIN2014-52034-R.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. Jordi Cabot and Alexander Egyed.
Rights and permissions
About this article
Cite this article
Hilken, F., Gogolla, M., Burgueño, L. et al. Testing models and model transformations using classifying terms. Softw Syst Model 17, 885–912 (2018). https://doi.org/10.1007/s10270-016-0568-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-016-0568-3