Patterns for Constructing Mutation Operators: Limiting the Search Space in a Software Engineering Application

  • Thomas Kühne
  • Heiko HamannEmail author
  • Svetlana Arifulina
  • Gregor Engels
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9594)


We apply methods of genetic programming to a general problem from software engineering, namely example-based generation of specifications. In particular, we focus on model transformation by example. The definition and implementation of model transformations is a task frequently carried out by domain experts, hence, a (semi-)automatic approach is desirable. This application is challenging because the underlying search space has rich semantics, is high-dimensional, and unstructured. Hence, a computationally brute-force approach would be unscalable and potentially infeasible. To address that problem, we develop a sophisticated approach of designing complex mutation operators. We define ‘patterns’ for constructing mutation operators and report a successful case study. Furthermore, the code of the evolved model transformation is required to have high maintainability and extensibility, that is, the code should be easily readable by domain experts. We report an evaluation of this approach in a software engineering case study.


Model transformations Mutation operators Software engineering 



This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research Centre ‘On-The-Fly Computing’ (SFB 901).


  1. 1.
    Astor, J.C., Adami, C.: A developmental model for the evolution of artificial neural networks. Artif. Life 6(3), 189–218 (2000)CrossRefGoogle Scholar
  2. 2.
    Baki, I., Sahraoui, H., Cobbaert, Q., Masson, P., Faunes, M.: Learning implicit and explicit control in model transformations by example. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 636–652. Springer, Heidelberg (2014)Google Scholar
  3. 3.
    Banzhaf, W.: Artificial regulatory networks and genetic programming. In: Riolo, R., Worzel, B. (eds.) Genetic Programming Theory and Practice, pp. 43–62. Kluwer, Dordrecht (2003)CrossRefGoogle Scholar
  4. 4.
    Bongard, J.: Evolving modular genetic regulatory networks. In: Proceedings of the World on Congress on Computational Intelligence, pp. 1872–1877. IEEE (2002)Google Scholar
  5. 5.
    Clune, J., Ofria, C., Pennock, R.T.: How a generative encoding fares as problem-regularity decreases. In: Rudolph, G., Jansen, T., Lucas, S., Poloni, C., Beume, N. (eds.) PPSN 2008. LNCS, vol. 5199, pp. 358–367. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Faunes, M., Sahraoui, H., Boukadoum, M.: Genetic-programming approach to learn model transformation rules from examples. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 17–32. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  7. 7.
    Gruau, F.: Automatic definition of modular neural networks. Adapt. Behav. 3(2), 151–183 (1994)CrossRefGoogle Scholar
  8. 8.
    Hornby, G.S.: Generative representations for evolutionary design automation. Ph.D. thesis, Brandeis University (2003)Google Scholar
  9. 9.
    Hornby, G.S., Pollack, J.B.: Creating high-level components with a generative representation for body-brain evolution. Artif. Life 8(2), 223–246 (2002)CrossRefGoogle Scholar
  10. 10.
    Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Düsterhöft, A., Klettke, M., Schewe, K.-D. (eds.) Conceptual Modelling and Its Theoretical Foundations. LNCS, vol. 7260, pp. 197–215. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  11. 11.
    Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2010)CrossRefGoogle Scholar
  12. 12.
    Kessentini, M., Sahraoui, H.A., Boukadoum, M.: Model transformation as an optimization problem. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 159–173. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Matarić, M.J., Cliff, D.: Challenges in evolving controllers for physical robots. Robot. Auton. Syst. 19(1), 67–83 (1996)CrossRefGoogle Scholar
  14. 14.
    O’Neill, M., Ryan, C.: Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Springer, New York (2003)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Thomas Kühne
    • 1
  • Heiko Hamann
    • 2
    Email author
  • Svetlana Arifulina
    • 1
  • Gregor Engels
    • 1
  1. 1.Department of Computer ScienceUniversity of PaderbornPaderbornGermany
  2. 2.Heinz Nixdorf Institute, Department of Computer ScienceUniversity of PaderbornPaderbornGermany

Personalised recommendations