Generating Efficient Mutation Operators for Search-Based Model-Driven Engineering

  • Daniel Strüber
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10374)


Software engineers are frequently faced with tasks that can be expressed as optimization problems. To support them with automation, search-based model-driven engineering combines the abstraction power of models with the versatility of meta-heuristic search algorithms. While current approaches in this area use genetic algorithms with fixed mutation operators to explore the solution space, the efficiency of these operators may heavily depend on the problem at hand. In this work, we propose FitnessStudio, a technique for generating efficient problem-tailored mutation operators automatically based on a two-tier framework. The lower tier is a regular meta-heuristic search whose mutation operator is “trained” by an upper-tier search using a higher-order model transformation. We implemented this framework using the Henshin transformation language and evaluated it in a benchmark case, where the generated mutation operators enabled an improvement to the state of the art in terms of result quality, without sacrificing performance.



This research was partially supported by the research project Visual Privacy Management in User Centric Open Environments (supported by the EU’s Horizon 2020 programme, Proposal number: 653642).


  1. 1.
    Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)CrossRefGoogle Scholar
  2. 2.
    Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations. Softw. Evol. Process 28, 1081–1117 (2016)CrossRefGoogle Scholar
  3. 3.
    Debreceni, C., Ráth, I., Varró, D., Carlos, X., Mendialdua, X., Trujillo, S.: Automated model merge by design space exploration. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 104–121. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49665-7_7 CrossRefGoogle Scholar
  4. 4.
    Fleck, M., Troya, J., Kessentini, M., Wimmer, M., Alkhazi, B.: Model transformation modularization as a many-objective optimization problem. IEEE Trans. Softw. Eng. (2017)Google Scholar
  5. 5.
    Abdeen, H., Varró, D., Sahraoui, H., Nagy, A.S., Debreceni, C., Hegedüs, Á., Horváth, Á.: Multi-objective optimization in rule-based design space exploration. In: ASE, pp. 289–300. ACM (2014)Google Scholar
  6. 6.
    Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations with MOMoT. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 79–87. Springer, Cham (2016). doi: 10.1007/978-3-319-42064-6_6 CrossRefGoogle Scholar
  7. 7.
    Zschaler, S., Mandow, L.: Towards model-based optimisation: using domain knowledge explicitly. In: Milazzo, P., Varró, D., Wimmer, M. (eds.) STAF 2016. LNCS, vol. 9946, pp. 317–329. Springer, Cham (2016). doi: 10.1007/978-3-319-50230-4_24 CrossRefGoogle Scholar
  8. 8.
    Fleck, M., Troya, J., Wimmer, M.: The class responsibility assignment case. In: TTC, pp. 1–8 (2016)Google Scholar
  9. 9.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16145-2_9 CrossRefGoogle Scholar
  10. 10.
    Woodward, J.R., Swan, J.: The automatic generation of mutation operators for genetic algorithms. In: GECCO, pp. 67–74 (2012)Google Scholar
  11. 11.
    Mehlhorn, K.: Graph Algorithms and NP-Completeness. Springer, New York (1984)zbMATHGoogle Scholar
  12. 12.
    Tichy, M., Krause, C., Liebel, G.: Detecting performance bad smells for Henshin model transformations. In: AMT (2013)Google Scholar
  13. 13.
    Born, K., Schulz, S., Strüber, D., John, S.: Solving the class responsibility assignment case with Henshin and a genetic algorithm. In: TTC, pp. 45–54 (2016)Google Scholar
  14. 14.
    Nagy, A.S., Szárnyas, G.: Class responsiblity assignment case: a Viatra-DSE solution. In: TTC, pp. 39–44 (2016)Google Scholar
  15. 15.
    Strüber, D., Schulz, S.: A tool environment for managing families of model transformation rules. In: Echahed, R., Minas, M. (eds.) ICGT 2016. LNCS, vol. 9761, pp. 89–101. Springer, Cham (2016). doi: 10.1007/978-3-319-40530-8_6 CrossRefGoogle Scholar
  16. 16.
    Strüber, D.: Model-driven engineering in the large: refactoring techniques for models and model transformation systems. Ph.D. thesis, Philipps-Universität Marburg (2016)Google Scholar
  17. 17.
    Mkaouer, M.W., Kessentini, M.: Model transformation using multiobjective optimization. Adv. Comput. 92, 161–202 (2014)CrossRefGoogle Scholar
  18. 18.
    Kehrer, T., Taentzer, G., Rindt, M., Kelter, U.: Automatically deriving the specification of model editing operations from meta-models. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 173–188. Springer, Cham (2016). doi: 10.1007/978-3-319-42064-6_12 CrossRefGoogle Scholar
  19. 19.
    Popoola, S., Kolovos, D.S., Rodriguez, H.H.: EMG: a domain-specific transformation language for synthetic model generation. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 36–51. Springer, Cham (2016). doi: 10.1007/978-3-319-42064-6_3 CrossRefGoogle Scholar
  20. 20.
    Troya, J., Bergmayr, A., Burgueño, L., Wimmer, M.: Towards systematic mutations for and with ATL model transformations. In: Workshop on Mutation Analysis, pp. 1–10 (2015)Google Scholar
  21. 21.
    Alhwikem, F., Paige, R.F., Rose, L., Alexander, R.: A systematic approach for designing mutation operators for MDE languages. In: MoDEVVa, pp. 54–59 (2016)Google Scholar
  22. 22.
    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. In: Computer Languages, Systems & Structures (2016)Google Scholar
  23. 23.
    Smullen, D., Gillett, J., Heron, J., Rahnamayan, S.: Genetic algorithm with self-adaptive mutation controlled by chromosome similarity. In: CEC, pp. 504–511. IEEE (2014)Google Scholar
  24. 24.
    Martin, M.A., Tauritz, D.R.: Evolving black-box search algorithms employing genetic programming. In: GECCO, companion volume, pp. 1497–1504. ACM (2013)Google Scholar
  25. 25.
    Strüber, D., Rubin, J., Arendt, T., Chechik, M., Taentzer, G., Plöger, J.: RuleMerger: automatic construction of variability-based model transformation rules. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 122–140. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49665-7_8 CrossRefGoogle Scholar
  26. 26.
    Strüber, D., Plöger, J., Acreţoaie, V.: Clone detection for graph-based model transformation languages. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 191–206. Springer, Cham (2016). doi: 10.1007/978-3-319-42064-6_13 CrossRefGoogle Scholar
  27. 27.
    Ahmadian, A.S., Strüber, D., Riediger, V., Jürjens, J.: Model-based privacy analysis in industrial ecosystems. In: ECMFA. Springer (2017)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.University of Koblenz and LandauKoblenzGermany

Personalised recommendations