Advertisement

Seed Model Synthesis for Testing Model-Based Mutation Operators

  • Pablo Gómez-AbajoEmail author
  • Esther Guerra
  • Juan de Lara
  • Mercedes G. Merayo
Conference paper
  • 66 Downloads
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 386)

Abstract

In software engineering, mutation consists in injecting small changes in artefacts – like models, programs, or data – for purposes like (mutation) testing, test data generation, and all sorts of search-based methods. These activities normally require the definition of sets of mutation operators, which are often built ad-hoc because there is currently poor support for their development and testing.

To improve this situation, in previous work we proposed a model-based approach to create and execute mutation operators. Our proposal represents the artefacts to be mutated as models and provides a domain-specific language called Wodel to define the mutation operators. However, testing the operators is cumbersome, since it requires the manual creation of input seed models. To facilitate this testing process, we propose a method – based on model finding – for the automated synthesis of test models that exercise the defined mutation operators. We provide tool support for our proposal, and illustrate its usage by defining mutation operators for BPMN.

Keywords

Model-based mutation Model-driven engineering Model synthesis OCL Wodel BPMN 

Notes

Acknowledgments

Work funded by the Spanish Ministry of Science (projects MASSIVE, RTI2018-095255-B-I00 and FAME, RTI2018-093608-B-C31) and the R&D programme of Madrid (project FORTE, P2018/TCS-4314).

Supplementary material

References

  1. 1.
    Alhwikem, F., Paige, R.F., Rose, L., Alexander, R.: A systematic approach for designing mutation operators for MDE languages. In: MODEVA, CEUR Workshop Proceedings, vol. 1713, pp. 54–59 (2016). CEUR-WS.org
  2. 2.
    Burdusel, A., Zschaler, S., John, S.: Automatic generation of atomic consistency preserving search operators for search-based model engineering. In: MODELS, pp. 106–116. IEEE (2019)Google Scholar
  3. 3.
    Cañizares, P.C., Núñez, A., Merayo, M.G.: Mutomvo: mutation testing framework for simulated cloud and HPC environments. J. Syst. Softw. 143, 187–207 (2018)CrossRefGoogle Scholar
  4. 4.
    Cuadrado, J.S., Guerra, E., de Lara, J., Clarisó, R., Cabot, J.: Translating target to source constraints in model-to-model transformations. In: MODELS, pp. 12–22. IEEE Computer Society (2017)Google Scholar
  5. 5.
    DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. IEEE Comput. 11(4), 34–41 (1978)CrossRefGoogle Scholar
  6. 6.
    van Eck, M.L., Buijs, J.C.A.M., van Dongen, B.F.: Genetic process mining: alignment-based process model mutation. In: Fournier, F., Mendling, J. (eds.) BPM 2014. LNBIP, vol. 202, pp. 291–303. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-15895-2_25CrossRefGoogle Scholar
  7. 7.
    Estero-Botaro, A., Palomo-Lozano, F., Medina-Bulo, I., Domínguez-Jiménez, J.J., García-Domínguez, A.: Quality metrics for mutation testing with applications to WS-BPEL compositions. Softw. Test. Verif. Reliab. 25(5–7), 536–571 (2015)CrossRefGoogle Scholar
  8. 8.
    Gómez-Abajo, P., Guerra, E., de Lara, J.: Wodel: a domain-specific language for model mutation. In: SAC, pp. 1968–1973. ACM (2016)Google Scholar
  9. 9.
    Gómez-Abajo, P., Guerra, E., de Lara, J.: A domain-specific language for model mutation and its application to the automated generation of exercises. Comput. Lang. Syst. Struct. 49, 152–173 (2017)Google Scholar
  10. 10.
    Gómez-Abajo, P., Guerra, E., de Lara, J., Merayo, M.G.: A tool for domain-independent model mutation. Sci. Comput. Program. 163, 85–92 (2018)CrossRefGoogle Scholar
  11. 11.
    Gómez-Abajo, P., Guerra, E., de Lara, J., Merayo, M.G.: Mutation testing for DSLs (tool demo). In: DSM, pp. 60–62. ACM (2019)Google Scholar
  12. 12.
    González, A., Luna, C., Bressan, G.: Mutation testing for Java based on model-driven development. In: CLEI-SLISW (2018). (in Spanish)Google Scholar
  13. 13.
    Guerra, E., Soeken, M.: Specification-driven model transformation testing. Softw. Syst. Model. 14(2), 623–644 (2015)CrossRefGoogle Scholar
  14. 14.
    Hamlet, R.G.: Testing programs with the aid of a compiler. IEEE Trans. Software Eng. 3(4), 279–290 (1977)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)CrossRefGoogle Scholar
  16. 16.
    Herbert, L., Hansen, Z., Jacobsen, P., Cunha, P.: Evolutionary optimization of production materials workflow processes. Procedia CIRP 25, 53–60 (2014)CrossRefGoogle Scholar
  17. 17.
    Jackson, D.: Alloy: a language and tool for exploring software designs. Commun. ACM 62(9), 66–76 (2019)CrossRefGoogle Scholar
  18. 18.
    Jia, Y., Harman, M.: MILU: a customizable, runtime-optimized higher order mutation testing tool for the full C language. In: TAICPART, pp. 94–98 (2008)Google Scholar
  19. 19.
    Just, R.: The major mutation framework: efficient and scalable mutation analysis for Java. In: ISSTA, pp. 433–436. ACM (2014)Google Scholar
  20. 20.
    Kuhlmann, M., Gogolla, M.: From UML and OCL to relational logic and back. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 415–431. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33666-9_27CrossRefGoogle Scholar
  21. 21.
    Li, C., Reichert, M., Wombacher, A.: On measuring process model similarity based on high-level change operations. In: Li, Q., Spaccapietra, S., Yu, E., Olivé, A. (eds.) ER 2008. LNCS, vol. 5231, pp. 248–264. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-87877-3_19CrossRefGoogle Scholar
  22. 22.
    de Medeiros, A., Weijters, A., van der Aalst, W.: Genetic process mining: an experimental evaluation. Data Min. Knowl. Discov. 14(2), 245–304 (2007)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Montaghami, V., Rayside, D.: Bordeaux: a tool for thinking outside the box. In: Huisman, M., Rubin, J. (eds.) FASE 2017. LNCS, vol. 10202, pp. 22–39. Springer, Heidelberg (2017).  https://doi.org/10.1007/978-3-662-54494-5_2CrossRefGoogle Scholar
  24. 24.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley Professional, Boston (2008)Google Scholar
  25. 25.
    Troya, J., Bergmayr, A., Burgueño, L., Wimmer, M.: Towards systematic mutations for and with ATL model transformations. In: ICST Workshops, pp. 1–10 (2015)Google Scholar
  26. 26.
    Zeller, A., Gopinath, R., Böhme, M., Fraser, G., Holler, C.: Mutation-based fuzzing. In: The Fuzzing Book. Saarland University (2019). https://www.fuzzingbook.org/html/MutationFuzzer.html. Accessed Oct 2019

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Pablo Gómez-Abajo
    • 1
    Email author
  • Esther Guerra
    • 1
  • Juan de Lara
    • 1
  • Mercedes G. Merayo
    • 2
  1. 1.Modelling and Software Engineering GroupUniversidad Autónoma de MadridMadridSpain
  2. 2.Design and Testing of Reliable Systems GroupUniversidad Complutense de MadridMadridSpain

Personalised recommendations