Skip to main content
Log in

Testing models and model transformations using classifying terms

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. http://sourceforge.net/projects/useocl/ (USE and ModelValidator plugin).

  2. The required files for the experiments and their results are available online. http://www.db.informatik.uni-bremen.de/publications/intern/ct2016-experiments.zip.

  3. http://docbook.org/.

References

  1. Amrani, M., Syriani, E., Wimmer, M. (eds.): Proceedings of the VOLT WS, CEUR WS, vol. 1325 (2014)

  2. 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)

    Article  Google Scholar 

  3. Andrews, A.A., France, R., Ghosh, S., Craig, G.: Test adequacy criteria for UML design models. Softw. Test. Verif. Reliab. 13, 95–127 (2003)

    Article  Google Scholar 

  4. Aranega, V., Mottu, J.M., Etien, A., Dekeyser, J.L.: Traceability mechanism for error localization in model transformation. In: Proceedings of ICSOFT’09 (2009)

  5. 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)

    Article  Google Scholar 

  6. 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)

  7. 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)

  8. Burgueño, L., Wimmer, M., Troya, J., Vallecillo, A.: Static fault localization in model transformations. IEEE Trans. Softw. Eng. 41(5), 490–506 (2015)

    Article  Google Scholar 

  9. Burnstein, I.: Practical Software Testing. Springer, New York (2003)

    MATH  Google Scholar 

  10. 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)

  11. 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)

  12. Ciancone, A., Filieri, A., Mirandola, R.: MANTra: Towards model transformation testing. In: IEEE Proceedings of QUATIC’10, pp. 97–105 (2010)

  13. 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/

  14. 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)

  15. Dingel, J., de Lara, J., Lucio, L., Vangheluwe, H. (eds.): Proceedings of the AMT WS., CEUR WS. Proc., vol. 1277 (2014)

  16. 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)

  17. Diskin, Z.: Algebraic models for bidirectional model synchronization. In: Proceedings of MODELS’08, LNCS, vol. 5301, pp. 21–36. Springer (2008)

  18. 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)

    Google Scholar 

  19. Ehrig, K., Küster, J.M., Taentzer, G.: Generating instance models from meta models. Softw. Syst. Model. 8, 479–500 (2009)

    Article  Google Scholar 

  20. 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)

  21. Foster, N., Pilkiewicz, A., Pierce, B.C.: Quotient lenses. SIGPLAN Not. 43(9), 383–396 (2008)

    Article  MATH  Google Scholar 

  22. 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)

  23. 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)

  24. Giner, P., Pelechano, V.: Test-driven development of model transformations. In: Proceedings of MODELS’09, LNCS, vol. 5795, pp. 748–752. Springer (2009)

  25. 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)

  26. 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)

  27. Gogolla, M., Vallecillo, A.: Tractable model transformation testing. In: Proceedings of ECMFA’11, no. 6698 in LNCS, pp. 221–236. Springer (2011)

  28. 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)

    Article  Google Scholar 

  29. 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)

  30. 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)

  31. Grindal, M., Offutt, J., Andler, S.F.: Combination testing strategies: a survey. Softw. Test. Verif. Reliab. 15(3), 167–199 (2005)

    Article  Google Scholar 

  32. Group, A.: Atl zoo (2016). http://www.eclipse.org/atl/atlTransformations/

  33. 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)

    Article  Google Scholar 

  34. 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)

    Article  Google Scholar 

  35. Hibberd, M., Lawley, M., Raymond, K.: Forensic debugging of model transformations. In: Proceedings of MODELS’07, LNCS, vol. 4735, pp. 589–604. Springer (2007)

  36. 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)

  37. 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)

    Article  MATH  Google Scholar 

  38. 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)

    Article  MATH  Google Scholar 

  39. 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)

  40. 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)

  41. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)

    Google Scholar 

  42. KPIT medini Technologies: Medini-QVT tool. http://projects.ikv.de/qvt/

  43. 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)

  44. Lämmel, R.: Coupled software transformations (extended abstract). In: First International Workshop on Software Evolution Transformations (2004)

  45. Meyer, B.: Applying design by contract. IEEE Comput. 25(10), 40–51 (1992)

    Article  Google Scholar 

  46. 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)

  47. Offutt, J., Irvine, A.: Testing object-oriented software using the category-partition method. In: Proceedings of TOOLS USA’95, pp. 293–304 (1995)

  48. 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

    Article  Google Scholar 

  49. OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation. Version 1.2. Object Management Group (2015)

  50. 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

    Article  Google Scholar 

  51. Queralt, A., Artale, A., Calvanese, D., Teniente, E.: OCL-lite: finite reasoning on UML/OCL conceptual schemas. Data Knowl. Eng. 73, 1–22 (2012)

    Article  Google Scholar 

  52. Roldán, M., Durán, F.: Dynamic Validation of OCL Constraints with mOdCL. ECEASST 44 (2011)

  53. Stevens, P.: A landscape of bidirectional model transformations. In: Proceedings of GTTSE’07, no. 5235 in LNCS, pp. 408–424. Springer (2007)

  54. Stevens, P.: Observations relating to the equivalences induced on model sets by bidirectional transformations. ECEASST 49 (2012)

  55. Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)

    Article  MathSciNet  Google Scholar 

  56. Stevens, P.: A simple game-theoretic approach to checkonly QVT relations. Softw. Syst. Model. 12(1), 175–199 (2013)

    Article  Google Scholar 

  57. 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)

  58. Torlak, E., Jackson, D.: Kodkod: a relational model finder. In: Proceedings of TACAS’07, pp. LNCS 4424, 632–647 (2007)

  59. 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)

  60. 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)

  61. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, New York (2012)

    Book  MATH  Google Scholar 

  62. Yue, T., Ali, S.: Empirically evaluating OCL and Java for specifying constraints on UML models. Softw. Syst. Model. 15(3), 757–781 (2016)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Frank Hilken.

Additional information

Communicated by Dr. Jordi Cabot and Alexander Egyed.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0568-3

Keywords

Navigation