Skip to main content
Top
Published in: Software and Systems Modeling 2/2015

01-05-2015 | Special Section Paper

Specification-driven model transformation testing

Authors: Esther Guerra, Mathias Soeken

Published in: Software and Systems Modeling | Issue 2/2015

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Testing model transformations poses several challenges, among them the automatic generation of appropriate input test models and the specification of oracle functions. Most approaches for the generation of input models ensure a certain coverage of the source meta-model or the transformation implementation code, whereas oracle functions are frequently defined using query or graph languages. However, these two tasks are usually performed independently regardless of their common purpose, and sometimes, there is a gap between the properties exhibited by the generated input models and those considered by the transformations. Recently, we proposed a formal specification language for the declarative formulation of transformation properties (by means of invariants, pre-, and postconditions) from which we generated partial oracle functions used for transformation testing. Here, we extend the usage of our specification language for the automated generation of input test models by SAT solving. The testing process becomes more intentional because the generated models ensure a certain coverage of the transformation requirements. Moreover, we use the same specification to consistently derive both the input test models and the oracle functions. A set of experiments is presented, aimed at measuring the efficacy of our technique.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Appendix
Available only for authorised users
Footnotes
1
Please note that PaMoMo invariants, which express properties of any pair of input and output models, are sometimes called postconditions [9] or domain/range contracts [37] in the model transformation testing literature. In PaMoMo, a postcondition is just a requirement of the output model alone. Moreover, PaMoMo invariants do not describe conditions to be maintained on the state of the transformation execution, but they are statements that the result of any possible execution of the transformation should satisfy.
 
2
In this section, we use a graphical concrete syntax for the specification. In Sect. 6, we will show an alternative textual syntax that is supported by our prototype tool.
 
6
The first quartile \(q1\) is the median of the lower half of the data.
 
Literature
1.
go back to reference Balogh, A., Bergmann, G., Csertán, G., Gönczy, L., Horváth, Á., Majzik, I., Pataricza, A., Polgár, B., Ráth, I., Varró, D., Varró, G.: Workflow-driven tool integration using model transformations. In: Graph Transformations and Model-Driven Engineering, vol. 5765 of LNCS, pp. 224–248. Springer, Berlin (2010) Balogh, A., Bergmann, G., Csertán, G., Gönczy, L., Horváth, Á., Majzik, I., Pataricza, A., Polgár, B., Ráth, I., Varró, D., Varró, G.: Workflow-driven tool integration using model transformations. In: Graph Transformations and Model-Driven Engineering, vol. 5765 of LNCS, pp. 224–248. Springer, Berlin (2010)
2.
go back to reference Baudry, B., Ghosh, S., Fleurey, F., France, R.B., Traon, Y.L., Mottu, J.-M.: Barriers to systematic model transformation testing. CACM 53(6), 139–143 (2010)CrossRef Baudry, B., Ghosh, S., Fleurey, F., France, R.B., Traon, Y.L., Mottu, J.-M.: Barriers to systematic model transformation testing. CACM 53(6), 139–143 (2010)CrossRef
3.
go back to reference Boronat, A., Carsí, J.A., Ramos, I.: Algebraic specification of a model transformation engine. In: FASE’06, vol. 3922 of LNCS, pp. 262–277. Springer, Berlin (2006) Boronat, A., Carsí, J.A., Ramos, I.: Algebraic specification of a model transformation engine. In: FASE’06, vol. 3922 of LNCS, pp. 262–277. Springer, Berlin (2006)
4.
go back to reference Boyapati, C., Khurshid, S., Marinov, D.: Korat: automated testing based on Java predicates. In: ISSTA’02, pp. 123–133 (2002) Boyapati, C., Khurshid, S., Marinov, D.: Korat: automated testing based on Java predicates. In: ISSTA’02, pp. 123–133 (2002)
6.
go back to reference Budd, T.A.: Mutation analysis: ideas, examples, problems and prospects. In: Proceedings of Summer School on Computer Program Testing, pp. 129–148 (1981) Budd, T.A.: Mutation analysis: ideas, examples, problems and prospects. In: Proceedings of Summer School on Computer Program Testing, pp. 129–148 (1981)
7.
go back to reference Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)CrossRef Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)CrossRef
8.
go back to reference Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE’07, pp. 547–548 (2007) Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming. In: ASE’07, pp. 547–548 (2007)
9.
go back to reference Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: ECEASST, vol. 12, pp. 69–83 (2004) Cariou, E., Marvie, R., Seinturier, L., Duchien, L.: OCL for the specification of model transformation contracts. In: ECEASST, vol. 12, pp. 69–83 (2004)
10.
go back to reference de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: TACAS’08, vol. 4963 of LNCS, pp. 337–340. Springer, Berlin (2008) de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: TACAS’08, vol. 4963 of LNCS, pp. 337–340. Springer, Berlin (2008)
11.
go back to reference Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)MATH Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)MATH
12.
go back to reference Ehrig, H., Prange, U.: Formal analysis of model transformations based on triple graph rules with kernels. In: ICGT’08, vol. 5214 of LNCS, pp. 178–193. Springer, Berlin (2008) Ehrig, H., Prange, U.: Formal analysis of model transformations based on triple graph rules with kernels. In: ICGT’08, vol. 5214 of LNCS, pp. 178–193. Springer, Berlin (2008)
13.
go back to reference Fiorentini, C., Momigliano, A., Ornaghi, M., Poernomo, I.: A constructive approach to testing model transformations. In: ICMT’10, vol. 6142 of LNCS, pp. 77–92. Springer, Berlin (2010) Fiorentini, C., Momigliano, A., Ornaghi, M., Poernomo, I.: A constructive approach to testing model transformations. In: ICMT’10, vol. 6142 of LNCS, pp. 77–92. Springer, Berlin (2010)
14.
go back to reference Fleurey, F., Baudry, B., Muller, P.-A., Traon, Y.: Qualifying input test data for model transformations. Softw. Syst. Model. 8, 185–203 (2009)CrossRef Fleurey, F., Baudry, B., Muller, P.-A., Traon, Y.: Qualifying input test data for model transformations. Softw. Syst. Model. 8, 185–203 (2009)CrossRef
15.
go back to reference García-Domínguez, A., Kolovos, D., Rose, L., Paige, R., Medina-Bulo, I.: Eunit: A unit testing framework for model management tasks. In: MoDELS’11, vol. 6981 of LNCS, pp. 395–409. Springer, Berlin (2011) García-Domínguez, A., Kolovos, D., Rose, L., Paige, R., Medina-Bulo, I.: Eunit: A unit testing framework for model management tasks. In: MoDELS’11, vol. 6981 of LNCS, pp. 395–409. Springer, Berlin (2011)
16.
go back to reference Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and analysis using GROOVE. STTT 14(1), 15–40 (2012)CrossRef Ghamarian, A.H., de Mol, M., Rensink, A., Zambon, E., Zimakova, M.: Modelling and analysis using GROOVE. STTT 14(1), 15–40 (2012)CrossRef
17.
go back to reference Giner, P., Pelechano, V.: Test-driven development of model transformations. In: MoDELS’09, vol. 5795 of LNCS, pp. 748–752. Springer, Berlin (2009) Giner, P., Pelechano, V.: Test-driven development of model transformations. In: MoDELS’09, vol. 5795 of LNCS, pp. 748–752. Springer, Berlin (2009)
18.
go back to reference Godefroid, P., de Halleux, J., Nori, A.V., Rajamani, S.K., Schulte, W., Tillmann, N., Levin, M.Y.: Automating software testing using program analysis. IEEE Softw. 25(5), 30–37 (2008)CrossRef Godefroid, P., de Halleux, J., Nori, A.V., Rajamani, S.K., Schulte, W., Tillmann, N., Levin, M.Y.: Automating software testing using program analysis. IEEE Softw. 25(5), 30–37 (2008)CrossRef
19.
go back to reference Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1–3), 27–34 (2007)CrossRefMATH Gogolla, M., Büttner, F., Richters, M.: USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1–3), 27–34 (2007)CrossRefMATH
20.
go back to reference Gogolla, M., Vallecillo, A.: Tractable model transformation testing. In: ECMFA’11, vol. 6698 of LNCS, pp. 221–235. Springer, Berlin (2011) Gogolla, M., Vallecillo, A.: Tractable model transformation testing. In: ECMFA’11, vol. 6698 of LNCS, pp. 221–235. Springer, Berlin (2011)
21.
go back to reference González, C.A., Cabot, J.: ATL-Test: a white-box test generation approach for ATL transformations. In: MoDELS’12, vol. 7590 of LNCS, pp. 449–464. Springer, Berlin (2012) González, C.A., Cabot, J.: ATL-Test: a white-box test generation approach for ATL transformations. In: MoDELS’12, vol. 7590 of LNCS, pp. 449–464. Springer, Berlin (2012)
22.
go back to reference Guerra, E.: Specification-driven test generation for model transformations. In: ICMT’12, vol. 7307 of LNCS, pp. 40–55. Springer, Berlin (2012) Guerra, E.: Specification-driven test generation for model transformations. In: ICMT’12, vol. 7307 of LNCS, pp. 40–55. Springer, Berlin (2012)
23.
go back to reference Guerra, E., de Lara, J.: Colouring: execution, debug and analysis of QVT-relations transformations through coloured Petri nets. Softw. Syst. Model. (2013). doi:10.1007/s10270-012-0292-6 Guerra, E., de Lara, J.: Colouring: execution, debug and analysis of QVT-relations transformations through coloured Petri nets. Softw. Syst. Model. (2013). doi:10.​1007/​s10270-012-0292-6
24.
go back to reference Guerra, E., de Lara, J., Kolovos, D., Paige, R., dos Santos, O.: Engineering model transformations with transML. Softw. Syst. Model. 12(3), 555–577 (2013)CrossRef Guerra, E., de Lara, J., Kolovos, D., Paige, R., dos Santos, O.: Engineering model transformations with transML. Softw. Syst. Model. 12(3), 555–577 (2013)CrossRef
25.
go back to reference Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: A visual specification language for model-to-model transformations. In: IEEE Computer Society on VL/HCC’10, pp. 119–126 (2010) Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: A visual specification language for model-to-model transformations. In: IEEE Computer Society on VL/HCC’10, pp. 119–126 (2010)
26.
go back to reference 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. 12(1), 5–46 (2013)CrossRef 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. 12(1), 5–46 (2013)CrossRef
27.
go back to reference Harm, J., Lämmel, R.: Two-dimensional approximation coverage. Informatica, 24(3), 355–369 (2000) Harm, J., Lämmel, R.: Two-dimensional approximation coverage. Informatica, 24(3), 355–369 (2000)
28.
go back to reference Hierons, R.M.: Testing from a Z specification. J. Softw. Test. Verif. Reliab. 7(1), 19–33 (1997)CrossRef Hierons, R.M.: Testing from a Z specification. J. Softw. Test. Verif. Reliab. 7(1), 19–33 (1997)CrossRef
29.
go back to reference Jackson, D.: Software Abstractions. Logic, Language, and Analysis. MIT Press, Cambridge, MA (2006) Jackson, D.: Software Abstractions. Logic, Language, and Analysis. MIT Press, Cambridge, MA (2006)
30.
go back to reference Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)CrossRefMATH Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)CrossRefMATH
31.
go back to reference Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: ICMT’08, vol. 5063 of LNCS, pp. 46–60. Springer, Berlin (2008) Kolovos, D.S., Paige, R.F., Polack, F.: The epsilon transformation language. In: ICMT’08, vol. 5063 of LNCS, pp. 46–60. Springer, Berlin (2008)
32.
go back to reference Küster, J.M.: Definition and validation of model transformations. Softw. Syst. Model. 5(3), 233–259 (2006)CrossRef Küster, J.M.: Definition and validation of model transformations. Softw. Syst. Model. 5(3), 233–259 (2006)CrossRef
33.
go back to reference Küster, J.M., Abd-El-Razik, M.: Validation of model transformations—first experiences using a white box approach. In: MoDELS Workshops, vol. 4364 of LNCS, pp. 193–204. Springer, Berlin (2007) Küster, J.M., Abd-El-Razik, M.: Validation of model transformations—first experiences using a white box approach. In: MoDELS Workshops, vol. 4364 of LNCS, pp. 193–204. Springer, Berlin (2007)
34.
go back to reference Lämmel, R., Schulte, W.: Controllable combinatorial coverage in grammar-based testing. In: TestCom’06, pp. 19–38 (2006) Lämmel, R., Schulte, W.: Controllable combinatorial coverage in grammar-based testing. In: TestCom’06, pp. 19–38 (2006)
35.
go back to reference Lin, Y., Zhang, J., Gray, J.: A framework for testing model transformations. In: Model-driven Software Development—Research and Practice in Software Engineering. Springer, Berlin (2005) Lin, Y., Zhang, J., Gray, J.: A framework for testing model transformations. In: Model-driven Software Development—Research and Practice in Software Engineering. Springer, Berlin (2005)
36.
go back to reference Mottu, J., Baudry, B., Traon, Y.: Mutation analysis testing for model transformations. In: ECMDA-FA’06, vol. 4066 of LNCS, pp. 376–390. Springer, Berlin (2006) Mottu, J., Baudry, B., Traon, Y.: Mutation analysis testing for model transformations. In: ECMDA-FA’06, vol. 4066 of LNCS, pp. 376–390. Springer, Berlin (2006)
37.
go back to reference Mottu, J., Baudry, B., Traon, Y.: Reusable MDA components: a testing-for-trust approach. In: MoDELS’06, vol. 4199 of LNCS, pp. 589–603. Springer, Berlin (2006) Mottu, J., Baudry, B., Traon, Y.: Reusable MDA components: a testing-for-trust approach. In: MoDELS’06, vol. 4199 of LNCS, pp. 589–603. Springer, Berlin (2006)
38.
go back to reference Offutt, A.J., Liu, S.: Generating test data from SOFL specifications. J. Syst. Softw. 49(1), 49–62 (1999)CrossRef Offutt, A.J., Liu, S.: Generating test data from SOFL specifications. J. Syst. Softw. 49(1), 49–62 (1999)CrossRef
39.
go back to reference Oster, S., Zorcic, I., Markert, F., Lochau, M.: MoSo-PoLiTe: tool support for pairwise and model-based software product line testing. In: VaMoS’11, ACM International Conference Proceedings Series, pp. 79–82. ACM (2011) Oster, S., Zorcic, I., Markert, F., Lochau, M.: MoSo-PoLiTe: tool support for pairwise and model-based software product line testing. In: VaMoS’11, ACM International Conference Proceedings Series, pp. 79–82. ACM (2011)
40.
go back to reference Perrouin, G., Oster, S., Sen, S., Klein, J., Baudry, B., Traon, Y.: Pairwise testing for software product lines: comparison of two approaches. Softw. Qual. J. 20(3–4), 605–643 (2012)CrossRef Perrouin, G., Oster, S., Sen, S., Klein, J., Baudry, B., Traon, Y.: Pairwise testing for software product lines: comparison of two approaches. Softw. Qual. J. 20(3–4), 605–643 (2012)CrossRef
41.
go back to reference Quillan, J.A.M., Power, J.F.: White-box coverage criteria for model transformations. In: 1st International Workshop on Model Transformation with ATL (2009) Quillan, J.A.M., Power, J.F.: White-box coverage criteria for model transformations. In: 1st International Workshop on Model Transformation with ATL (2009)
42.
go back to reference Sen, S., Baudry, B., Mottu, J.: Automatic model generation strategies for model transformation testing. In: ICMT’09, vol. 5563 of LNCS, pp. 148–164. Springer, Berlin (2009) Sen, S., Baudry, B., Mottu, J.: Automatic model generation strategies for model transformation testing. In: ICMT’09, vol. 5563 of LNCS, pp. 148–164. Springer, Berlin (2009)
43.
go back to reference Sen, S., Mottu, J.-M., Tisi, M., Cabot, J.: Using models of partial knowledge to test model transformations. In: ICMT’12, vol. 7307 of LNCS, pp. 24–39. Springer, Berlin (2012) Sen, S., Mottu, J.-M., Tisi, M., Cabot, J.: Using models of partial knowledge to test model transformations. In: ICMT’12, vol. 7307 of LNCS, pp. 24–39. Springer, Berlin (2012)
44.
go back to reference Sherwood, G.B., Martirosyan, S.S., Colbourn, C.: Covering arrays of higher strength from permutation vectors. J. Comb. Des. 14(3), 202–213 (2005)CrossRefMathSciNet Sherwood, G.B., Martirosyan, S.S., Colbourn, C.: Covering arrays of higher strength from permutation vectors. J. Comb. Des. 14(3), 202–213 (2005)CrossRefMathSciNet
45.
go back to reference Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using boolean satisfiability. In: IEEE on DATE’10, pp. 1341–1344 (2010) Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using boolean satisfiability. In: IEEE on DATE’10, pp. 1341–1344 (2010)
46.
go back to reference Spivey, J.M.: An introduction to Z and formal specifications. Softw. Eng. J. 4(1), 40–50 (1989)CrossRef Spivey, J.M.: An introduction to Z and formal specifications. Softw. Eng. J. 4(1), 40–50 (1989)CrossRef
47.
go back to reference Tillmann, N., Schulte, W.: Unit tests reloaded: parameterized unit testing with symbolic execution. IEEE Softw. 23(4), 38–47 (2006)CrossRef Tillmann, N., Schulte, W.: Unit tests reloaded: parameterized unit testing with symbolic execution. IEEE Softw. 23(4), 38–47 (2006)CrossRef
48.
go back to reference Traon, Y.L., Baudry, B., Jézéquel, J.-M.: Design by contract to improve software vigilance. IEEE Trans. Softw. Eng. 32(8), 571–586 (2006)CrossRef Traon, Y.L., Baudry, B., Jézéquel, J.-M.: Design by contract to improve software vigilance. IEEE Trans. Softw. Eng. 32(8), 571–586 (2006)CrossRef
49.
go back to reference Troya, J., Vallecillo, A.: A rewriting logic semantics for ATL. J. Object Technol. 10(5), 1–29 (2011) Troya, J., Vallecillo, A.: A rewriting logic semantics for ATL. J. Object Technol. 10(5), 1–29 (2011)
Metadata
Title
Specification-driven model transformation testing
Authors
Esther Guerra
Mathias Soeken
Publication date
01-05-2015
Publisher
Springer Berlin Heidelberg
Published in
Software and Systems Modeling / Issue 2/2015
Print ISSN: 1619-1366
Electronic ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-013-0369-x

Other articles of this Issue 2/2015

Software and Systems Modeling 2/2015 Go to the issue

Premium Partner