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

01.05.2015 | Special Section Paper

Specification-driven model transformation testing

verfasst von: Esther Guerra, Mathias Soeken

Erschienen in: Software and Systems Modeling | Ausgabe 2/2015

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
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.
 
Literatur
1.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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)
Metadaten
Titel
Specification-driven model transformation testing
verfasst von
Esther Guerra
Mathias Soeken
Publikationsdatum
01.05.2015
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 2/2015
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-013-0369-x

Weitere Artikel der Ausgabe 2/2015

Software and Systems Modeling 2/2015 Zur Ausgabe

Special Section Paper

Petri nets in systems biology

Premium Partner