Automated Software Engineering

, Volume 24, Issue 2, pp 233–294 | Cite as

A survey on search-based model-driven engineering

  • Ilhem Boussaïd
  • Patrick Siarry
  • Mohamed Ahmed-Nacer
Article

Abstract

Model-driven engineering (MDE) and search-based software engineering (SBSE) are both relevant approaches to software engineering. MDE aims to raise the level of abstraction in order to cope with the complexity of software systems, while SBSE involves the application of metaheuristic search techniques to complex software engineering problems, reformulating engineering tasks as optimization problems. The purpose of this paper is to survey the relatively recent research activity lying at the interface between these two fields, an area that has come to be known as search-based model-driven engineering. We begin with an introduction to MDE, the concepts of models, of metamodels and of model transformations. We also give a brief introduction to SBSE and metaheuristics. Then, we survey the current research work centered around the combination of search-based techniques and MDE. The literature survey is accompanied by the presentation of references for further details.

Keywords

Search-based software engineering (SBSE) Model-driven engineering (MDE) Metaheuristics Metaheuristic 

References

  1. Abdeen, H., Varró, D., Sahraoui, H., Nagy, A.S., Hegedüs, Á., Horváth, Á., Debreceni, C.: Multi-objective optimization in rule-based design space exploration. In: 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), Vasteras, Sweden (2014)Google Scholar
  2. Ab. Rahim, L., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)Google Scholar
  3. Afzal, W., Torkar, R.: Review: on the application of genetic programming for software engineering predictive modeling: a systematic review. Expert Syst. Appl. 38(9), 11984–11997 (2011)CrossRefGoogle Scholar
  4. Afzal, W., Torkar, R., Feldt, R.: A systematic review of search-based testing for non-functional system properties. Inf. Softw. Technol. 51(6), 957–976 (2009)CrossRefGoogle Scholar
  5. Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)CrossRefGoogle Scholar
  6. Ali, S., Briand, L.C., Hemmati, H., Panesar-Walawege, R.K.: A systematic review of the application and empirical investigation of search-based test case generation. IEEE Trans. Softw. Eng. 36(6), 742–762 (2010)CrossRefGoogle Scholar
  7. Ali, S., Zohaib Iqbal, M., Arcuri, A., Briand, L.C.: A Search-based OCL constraint solver for model-based test data generation. In: Manuel, N., Hierons, R.M., Merayo, M.G. (eds.) Proceedings of the 11th International Conference On Quality Software (QSIC ’11), pp. 41–50. IEEE Computer Society, Madrid (2011)Google Scholar
  8. Ali, S., Zohaib Iqbal, M., Arcuri, A., Briand, L.C.: Generating test data from ocl constraints with search techniques. IEEE Trans. Softw. Eng. 39(10), 1376–1402 (2013)CrossRefGoogle Scholar
  9. Amal, B., Kessentini, M., Bechikh, S., Dea, J., Ben Said, L.: On the use of machine learning and search-based software engineering for ill-defined fitness function: a case study on software refactoring. In: Proceedings of the 6th International Symposium on Search-Based Software Engineering (SSBSE ’14), vol. 8636, pp. 31–45. Springer, Fortaleza, 26–29 August (2014)Google Scholar
  10. Amoui, M., Mirarab, S., Ansari, S., Lucas, C.: A genetic algorithm approach to design evolution using design pattern transformation. Int. J. Inf. Technol. Intell. Comput. (ITIC ’06) 1(2), 235–244 (2006)Google Scholar
  11. Amrani, M., Lucio, L., Selim, G., Combemale, B., Dingel, J., Vangheluwe, H., Le Traon, Y., Cordy, J.R.: A tridimensional approach for studying the formal verification of model transformations. In: Proceedings of the 2012 IEEE Fifth International Conference on Software Testing. Verification and Validation, ICST ’12, pp. 921–928. IEEE Computer Society, Washington, DC, USA (2012)Google Scholar
  12. Anand, S., Burke, E.K., Chen, T.Y., Clark, J., Cohen, M.B., Grieskamp, W., Harman, M., Harrold, M.J., Mcminn, P.: An orchestrated survey of methodologies for automated software test case generation. J. Syst. Softw. 86(8), 1978–2001 (2013)CrossRefGoogle Scholar
  13. Andrade, S.S., de A Macdo, R.J.: Toward systematic conveying of architecture design knowledge for self-adaptive systems. In: Proceedings of the 7th International Conference on Self-Adaptation and Self-Organizing Systems Workshops (SASOW ’13), pp. 23–24. IEEE, Philadelphia, PA, USA, 9–13 September (2013)Google Scholar
  14. Aneesa, S., Ab Hamid, S.H., Mustafa, M.B.: The experimental applications of search-based techniques for model-based testing: taxonomy and systematic literature review. Appl. Soft Comput. 49(C), 1094–1117 (2016)Google Scholar
  15. Antoniol, G., Di Penta, M., Harman, M.: A robust search-based approach to project management in the presence of abandonment, rework, error and uncertainty. In: 10th International Software Metrics Symposium (METRICS 2004), pp. 172–183. IEEE Computer Society Press, Los Alamitos, California, USA (2004)Google Scholar
  16. Arzoky, M., Swift, S., Tucker, A., Cain, J.: Munch: an efficient modularisation strategy to assess the degree of refactoring on sequential source code checkings. In: Proceedings of the 4th International Conference on Software Testing, Verification and Validation Workshops (ICSTW ’11), pp. 422–429. IEEE, Berlin, Germany, 21–25 March (2011)Google Scholar
  17. Bagnall, A., Rayward-Smith, V., Whittley, I.: The next release problem. Inf. Softw. Technol. 43(14), 883–890 (2001)CrossRefGoogle Scholar
  18. 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., Abraho, S., Insfran, E. (eds.) Model-driven engineering languages and systems. Lecture Notes in Computer Science, vol. 8767, pp. 636–652. Springer, Berlin (2014)Google Scholar
  19. Balaban, M., Gogolla, M. (eds.): Proceedings of the ACM Student Research Competition at MODELS 2015 co-located with the ACM/IEEE 18th International Conference MODELS 2015, Ottawa, Canada, September 29, 2015, volume 1503 of CEUR Workshop Proceedings. CEUR-WS.org (2015)Google Scholar
  20. Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28(1), 4–17 (2002)CrossRefGoogle Scholar
  21. Batot, E.: Generating examples for knowledge abstraction in MDE: a multi-objective framework. In: Balaban and Gogolla (2015), pp. 1–6 (2015)Google Scholar
  22. Baudry, B., Fleurey, F., Jzquel, J.-M., Le Traon, Y.: Automatic test cases optimization: a bacteriologic algorithm. IEEE Softw. 22(2), 76–82 (2005)CrossRefGoogle Scholar
  23. Baudry, B., Dinh-Trong, T., Mottu, J.-M., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Le Traon, Y.: Model transformation testing challenges. In: ECMDA Workshop on Integration of Model Driven Development and Model Driven Testing, Bilbao, Spain (2006)Google Scholar
  24. Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon, Y., Mottu, J.-M.: Barriers to systematic model transformation testing. Commun. ACM 53(6), 139–143 (2010)CrossRefGoogle Scholar
  25. ben Fadhel, A., Kessentini, M., Langer, P., Wimmer, M.: Search-based detection of high-level model changes. In: IEEE International Conference on Software Maintenance, pp. 212–221. IEEE Computer Society, , Los Alamitos, CA, USA (2012)Google Scholar
  26. Bencomo, N., France, R.B., Cheng, B.H.C., Aßmann, U. (eds.): Models@run.time - Foundations, Applications, and Roadmaps [Dagstuhl Seminar 11481, November 27–December 2, 2011], volume 8378 of Lecture Notes in Computer Science. Springer, Berlin (2014)Google Scholar
  27. Bézivin, J.: In search of a basic principle for model driven engineering. Novatica J. 5(2), 21–24 (2004)Google Scholar
  28. Bézivin, J.: Model driven engineerings: an emerging technical space. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 4143 LNCS: 36–64 (2006)Google Scholar
  29. Bézivin, J., Gerbé, O.: Towards a precise definition of the omg/mda framework. In: Proceedings of the 16th IEEE International Conference on Automated Software Engineering, ASE ’01, p. 273. IEEE Computer Society, Washington, DC, USA (2001)Google Scholar
  30. Birattari, M., Paquete, L., Stützle, T., Varrentrapp, K.: Classification of Metaheuristics and Design of Experiments for the Analysis of Components. Technical Report AIDA-01-05, FG Intellektik, FB Informatik, Technische Universitt Darmstadt, Darmstadt, Germany, (2001)Google Scholar
  31. Blum, C., Puchinger, J., Raidl, G.R., Roli, A.: Hybrid metaheuristics in combinatorial optimization: a survey. Appl. Soft Comput. 11(6), 4135–4151 (2011)CrossRefMATHGoogle Scholar
  32. Boussaïd, I., Lepagnot, J., Siarry, P.: A survey on optimization metaheuristics. Inf. Sci. 237, 82–117 (2013)MathSciNetCrossRefMATHGoogle Scholar
  33. Brun, Y., Marzo Serugendo, G., Gacek, C., Giese, H., Kienle, H., Litoiu, M., Müller, H., Pezzè, M., Shaw, M.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H., Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems, pp. 48–70. Springer, Berlin (2009)CrossRefGoogle Scholar
  34. Bryant, B.R., Gray, J., Mernik, M., Clarke, P.J., France, R.B., Karsai, G.: Challenges and directions in formalizing the semantics of modeling languages. Comput. Sci. Inf. Syst. 8(2), 225–253 (2011)CrossRefGoogle Scholar
  35. Burton, F.R., Poulding, S.: Complementing metaheuristic search with higher abstraction techniques. In: 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 45–48 (2013)Google Scholar
  36. Cadavid, J.J., Baudry, B., Sahraoui, H.A.: Searching the boundaries of a modeling space to test metamodels. In: Antoniol, G., Bertolino, A., Labiche, Y. (eds.) ICST, pp. 131–140. IEEE (2012)Google Scholar
  37. Cheng, B.H., Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Marzo Serugendo, G., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H.M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H.A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H., Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems, pp. 1–26. Springer, Berlin (2009)CrossRefGoogle Scholar
  38. Cheng, B.H.C., Ramirez, A., McKinley, P.K.: Harnessing evolutionary computation to enable dynamically adaptive systems to manage uncertainty. In: 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 1–6 (2013)Google Scholar
  39. Chicano, F., Alba, E.: Management of software projects with gas. In: 6th Metaheuristics International Conference (MIC2005), Vienna, Austria (2005)Google Scholar
  40. Chisǎliţǎ-Creţu, C.: The Multi-Objective Refactoring Set Selection Problem—A Solution Representation Analysis, pp. 441–462. InTech (2011)Google Scholar
  41. Cinnide, M., Tratt, L., Harman, M., Counsell, S., Moghadam, I.H.: Experimental assessment of software metrics using automated refactoring. In: Proceedings of the ACM-IEEE 6th International Symposium on Empirical Software Engineering and Measurement (ESEM ’12), pp. 49–58. ACM, Sweden, 17–22 September (2012)Google Scholar
  42. Clark, J.A., Dolado, J.J., Harman, M., Hierons, R.M., Jones, B.F., Lumkin, M., Mitchell, B.S., Mancoridis, S., Rees, K., Roper, M., Shepperd, M.J.: Reformulating software engineering as a search problem. IEEE Proc. Softw. 150(3), 161–175 (2003)CrossRefGoogle Scholar
  43. Colanzi, T.E., Vergilio, S.R., Assuno, W.K.G., Pozo, A.: Search based software engineering: Review and analysis of the field in brazil. J. Syst. Softw. 86(4), 970–984 (2013)CrossRefGoogle Scholar
  44. Cooper, K.D., Schielke, P.J., Subramanian, D.: Optimizing for reduced code space using genetic algorithms. SIGPLAN Not. 34(7), 1–9 (1999)CrossRefGoogle Scholar
  45. Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of MDA (2003)Google Scholar
  46. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)CrossRefGoogle Scholar
  47. de Freitas, F.G., de Souza, J.T.: Ten years of search based software engineering: a bibliometric analysis. In: Proceedings of the 3rd International Symposium on Search Based Software Engineering (SSBSE ’11), vol. 6956, pp. 18–32. Springer, Szeged, Hungary, 10–12 September (2011)Google Scholar
  48. de Lemos, R., Giese, H., Müller, H., Shaw, M., Andersson, J., Baresi, L., Becker, B., Bencomo, N., Brun, Y., Cikic, B., Desmarais, R., Dustdar, S., Engels, G., Geihs, K., Goeschka, K.M., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Litoiu, M., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezzè, M., Prehofer, C., Schäfer, W., Schlichting, W., Schmerl, B., Smith, D.B., Sousa, J.P., Tamura, G., Tahvildari, L., Villegas, N.M., Vogel, T., Weyns, D., Wong, K., Wuttke, J.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II, vol. 7475, pp. 1–32. Springer, New York (2013)CrossRefGoogle Scholar
  49. Debreceni, C., Ráth, I., Varró, D., De Carlos, X., Mendialdua, X., Trujillo, S.: Automated model merge by design space exploration. In: Stevens, P., Wasowski, A. (eds.) Fundamental Approaches to Software Engineering - 19th International Conference, FASE 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2–8, 2016, Proceedings. Lecture Notes in Computer Science, vol. 9633, pp. 104–121. Springer, Berlin (2016)Google Scholar
  50. Denil, J., Jukss, M., Verbrugge, C., Vangheluwe, H.: Search-based model optimization using model transformations. In: Amyot, D., Fonseca i Casas, P., Mussbacher, G. (eds.) System Analysis and Modeling: Models and Reusability, volume 8769 of Lecture Notes in Computer Science, pp. 80–95. Springer, Berlin (2014)Google Scholar
  51. Dias Neto, A.C., Subramanyan, R., Vieira, M., Travassos, G.H.: A survey on model-based testing approaches: a systematic review. Proceedings of the 1st ACM International Workshop on Empirical Assessment of Software Engineering Languages and Technologies: Held in Conjunction with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE) 2007. WEASELTech ’07, pp. 31–36. ACM, New York, NY, USA (2007)Google Scholar
  52. Dolado, J.J., Fernndez, L.: Genetic programming, neural networks and linear regression in software project estimation. In: Proceedings of INSPIRE III, Process Improvement through Training and Education (1998)Google Scholar
  53. Dorigo, M., Maniezzo, V., Colorni, A.: The ant system: optimization by a colony of cooperating agents. IEEE Trans. Syst. Man Cybern. Part B 26(1), 29–41 (1996)CrossRefGoogle Scholar
  54. Doungsa-ard, C., Dahal, K., Hossain, A., Suwannasart, T.: Test data generation from UML state machine diagrams using GAs. Int. Conf. Softw. Eng. Adv. ICSEA 2007, 47–47 (2007)Google Scholar
  55. Durillo, J.J., Zhang, Y., Alba, E., Nebro, A. J.: A study of the multi-objective next release problem. In: Proceedings of the 1st International Symposium on Search Based Software Engineering (SSBSE ’09), pp. 49–58. Cumberland Lodge, Windsor, UK, 13-15 May (2009)Google Scholar
  56. Farmer, J.D., Packard, N.H., Perelson, A.S.: The immune system, adaptation, and machine learning. Phys. D 2(1–3), 187–204 (1986)MathSciNetCrossRefGoogle Scholar
  57. Farooq, U., Lam, C.P.: Evolving the quality of a model based test suite. Proceedings of the IEEE International Conference on Software Testing. Verification, and Validation Workshops, ICSTW ’09, pp. 141–149. IEEE Computer Society, Washington, DC, USA (2009)Google Scholar
  58. Fatiregun, D., Harman, M., Hierons, R.M.: Search based transformations. In: Proceedings of the 2003 Conference on Genetic and Evolutionary Computation (GECCO ’03), volume 2724, pp. 2511–2512. Springer, Chicago, Illinois, USA, 12-16 July (2003)Google Scholar
  59. Fatiregun, D., Harman, M., Hierons, R.M.: Evolving transformation sequences using genetic algorithms. In: Proceedings of the 4th IEEE International Workshopthe on Source Code Analysis and Manipulation (SCAM ’04), pp. 65–74. IEEE, Chicago, Illinois, USA, 15–16 September (2004)Google Scholar
  60. Fatiregun, D., Harman, M., Hierons, R.M.: Search-based amorphous slicing. In: Proceedings of the 12th International Working Conference on Reverse Engineering (WCRE ’05), pp. 3–12. IEEE, Carnegie Mellon University, Pittsburgh, Pennsylvania, USA, 7–11 November (2005)Google Scholar
  61. Faunes, M., Sahraoui, H., Boukadoum, M.: Generating model transformation rules from examples using an evolutionary algorithm. Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. ASE 2012, pp. 250–253. ACM, New York, NY, USA (2012)Google Scholar
  62. Faunes, M., Cadavid, J., Baudry, B., Sahraoui, H., Combemale, B.: Automatically searching for metamodel well-formedness rules in examples and counter-examples. MODELS–ACM/IEEE 16th International Conference on Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, pp. 187–202. Springer, Miami, USA (2013a)Google Scholar
  63. Faunes, M., Sahraoui, H., Boukadoum, M.: Genetic-Programming Approach to Learn Model Transformation Rules from Examples. In: Duddy, K., Kappel, G. (eds.) Theory and Practice of Model Transformations. Lecture Notes in Computer Science, vol. 7909, pp. 17–32. Springer, Berlin Heidelberg (2013b)Google Scholar
  64. Favre, J.: Towards a basic theory to model model driven engineering. In: Proceedimngs of the UML2004 International Workshop on Software Model Engineering (2004)Google Scholar
  65. Feo, T.A., Resende, M.G.C.: A probabilistic heuristic for a computationally difficult set covering problem. Oper. Res. Lett. 8(2), 67–71 (1989)MathSciNetCrossRefMATHGoogle Scholar
  66. Feo, T.A., Resende, M.G.C.: Greedy randomized adaptive search procedures. J. Global Optim. 6(2), 109–133 (1995)MathSciNetCrossRefMATHGoogle Scholar
  67. Fleck, M., Troya, J., Wimmer, M.: Marrying search-based optimization and model transformation technology. In: Proceedings of the First North American Search Based Software Engineering Symposium, pp. 1–16. Elsevier, amsterdam (2015). Vortrag: First North American Search Based Software Engineering Symposium, Michigan; 2015-02-26–2015-02-27Google Scholar
  68. Fleurey, F., Steel, J., Baudry, B.: Validation in model-driven engineering: testing model transformations, pp. 29–40. In: First International Workshop on Model, Design and Validation (2004)Google Scholar
  69. Fogel, L.J., Owens, A.J., Walsh, M.J.: Artificial Intelligence through Simulated Evolution. Wiley, New York (1966)MATHGoogle Scholar
  70. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)MATHGoogle Scholar
  71. France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. 2007 Future of Software Engineering. FOSE ’07, pp. 37–54. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  72. Ghaith, S., Cinnide, M.: Improving software security using search-based refactoring. In: Proceedings of the 4th International Symposium on Search Based Software Engineering (SSBSE ’12), vol. 7515, pp. 121–135. Springer, Riva del Garda, Italy, 28–30 September (2012)Google Scholar
  73. Ghannem, A., Kessentini, M., El Boussaidi, G.: Detecting model refactoring opportunities using heuristic search. Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research. CASCON ’11, pp. 175–187. IBM Corp, Riverton, NJ, USA (2011)Google Scholar
  74. Ghannem, A., El Boussaidi, G., Kessentini, M.: Model refactoring using interactive genetic algorithm. In: Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE ’13), vol. 8084, pp. 96–110. Springer, St. Petersburg, Russia, 24–26 August (2013)Google Scholar
  75. Glover, F.: Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 13(5), 533–549 (1986)MathSciNetCrossRefMATHGoogle Scholar
  76. Goldsby, H.J., Cheng, B.H.: Automatically generating behavioral models of adaptive systems to address uncertainty. Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems. MoDELS ’08, pp. 568–583. Springer, Berlin (2008a)Google Scholar
  77. Goldsby, H.J., Cheng, B.H.C.: Avida-MDE: a digital evolution approach to generating models of adaptive software behavior. Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation. GECCO ’08, pp. 1751–1758. ACM, New York, NY, USA (2008b)Google Scholar
  78. Goldsby, H., Cheng, B.H.C., McKinley, P.K., Knoester, D.B., Ofria, C.: Digital evolution of behavioral models for autonomic systems. In: Strassner, J., Dobson, S.A., Fortes, J.A.B., Goswami, K.K. (eds.) Proceedings of the 5th International Conference on Autonomic Computing (ICAC 2008), pp. 87–96. IEEE Computer Society, Chicago, Illinois (2008)CrossRefGoogle Scholar
  79. Greenfield, J., Short, K.: Software factories: assembling applications with patterns, models, frameworks and tools. Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming. Systems, Languages, and Applications, OOPSLA ’03, pp. 16–27. ACM, New York, NY, USA (2003)Google Scholar
  80. Gyapay, S., Schmidt, Á., Varró, D.: Joint optimization and reachability analysis in graph transformation systems with time. Electron. Notes Theor. Comput. Sci. 109, 137–147 (2004)CrossRefMATHGoogle Scholar
  81. Hänsel, J.: Model based test case generation with metaheuristics for networks of timed automata. In: Proceedings of the 7th International Workshop on Search-Based Software Testing, SBST 2014, pp. 31–34, New York, NY, USA, (2014). ACMGoogle Scholar
  82. Harman, M.: The current state and future of search based software engineering. In: Proceedings of International Conference on Software Engineering/Future of Software Engineering 2007 (ICSE/FOSE ’07), pp. 342–357. IEEE, Minneapolis, Minnesota, USA, 20–26 May (2007a)Google Scholar
  83. Harman, M.: Search based software engineering for program comprehension. Proceedings of the 15th IEEE International Conference on Program Comprehension. ICPC ’07, pp. 3–13. IEEE Computer Society, Washington, DC, USA (2007b)Google Scholar
  84. Harman, M.: The relationship between search based software engineering and predictive modeling. In: Proceedings of the 6th International Conference on Predictive Models in Software Engineering, PROMISE ’10, pp. 1:1–1:13. ACM, New York, NY, USA (2010)Google Scholar
  85. Harman, M.: Refactoring as testability transformation. In: Proceedings of the 4th International Conference on Software Testing, Verification and Validation Workshops (ICSTW ’11), pp. 414–421. IEEE, Berlin, Germany, 21–25 March (2011)Google Scholar
  86. Harman, M.: The role of artificial intelligence in software engineering. In: 2012 First International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE), pp. 1–6 (2012)Google Scholar
  87. Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)CrossRefGoogle Scholar
  88. Harman, M., Hu, L., Hierons, R., Proctor, M.: A new representation and crossover operator for search-based optimization of software modularization. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2002), pp. 1351–1358. Morgan Kaufmann Publishers, New York, USA, 9–13 (2002)Google Scholar
  89. Harman, M., Baresel, A., Binkley, D., Hierons, R., Lin, H., Korel, B., McMinn, P., Roper, M.: Testability transformation–program transformation to improve testability. In: Hierons, R.M., Bowen, J.P., Harman, M. (eds.) Formal Methods and Testing. Lecture Notes in Computer Science, vol. 4949, pp. 320–344. Springer, New York (2008)Google Scholar
  90. Harman, M., Burke, E., Clark, J., Yao, X.: Dynamic adaptive search based software engineering. Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. ESEM ’12, pp. 1–8. ACM, New York, NY, USA (2012a)Google Scholar
  91. Harman, M., Burke, E., Clark, J.A., Yao, X.: Dynamic adaptive search based software engineering. In: Proceedings of the 6th International Symposium on Empirical Software Engineering and Measurement (ESEM ’12) (Keynote), pp. 1–8. ACM, Lund, Sweden, 19–20 September (2012b)Google Scholar
  92. Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11:1–11:61 (2012c)Google Scholar
  93. Harman, M., McMinn, P., de Souza, J.T., Yoo, S.: Search based software engineering: Techniques, taxonomy, tutorial. Empir. Softw. Eng. Verif. 7007, 1–59 (2012d)Google Scholar
  94. Harman, M., Clark, J., Cinneidez, M.O.: Dynamic adaptive search based software engineering needs fast approximate metrics (keynote). In: 4th International Workshop on Emerging Trends in Software Metrics (WETSoM), pp. 1–6 (2013a)Google Scholar
  95. Harman, M., Lakhotia, K., Singer, J., White, D.R., Yoo, S.: Cloud engineering is search based software engineering too. J. Syst. Softw. 86(9), 2225–2241 (2013b)CrossRefGoogle Scholar
  96. Harman, M., Jia, Y., Krinke, J., Langdon, W.B., Petke, J., Zhang, Y.: Search based software engineering for software product line engineering: a survey and directions for future work. Proceedings of the 18th International Software Product Line Conference. SPLC ’14, vol. 1, pp. 5–18. ACM, New York, NY, USA (2014a)Google Scholar
  97. Harman, M., Jia, Y., Langdon, W.B., Petke, J., Moghadam, I.H., Yoo, S., Wu, F.: Genetic improvement for adaptive software engineering (keynote). In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’14), pp. 1–4. ACM, Hyderabad, India, 2–3 June (2014b)Google Scholar
  98. Harman, M., Jia, Y., Zhang, Y.: Achievements, open problems and challenges for search based software testing. In: 8th IEEE International Conference on Software Testing, Verification and Validation, ICST 2015, pp. 1–12. IEEE, Graz, Austria, 13–17 April (2015)Google Scholar
  99. Hegedus, A., Horvath, A., Rath, I., Varro, D.: A model-driven framework for guided design space exploration. Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering. ASE ’11, pp. 173–182. IEEE Computer Society, Washington, DC, USA (2011)Google Scholar
  100. Hemmati, H., Briand, L., Arcuri, A., Ali, S.: An enhanced test case selection approach for model-based testing: An industrial case study. Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering. FSE ’10, pp. 267–276. ACM, New York, NY, USA (2010)Google Scholar
  101. Herrmannsdörfer, M., Wachsmuth, G.: Coupled Evolution of Software Metamodels and Models, pp. 33–63. Springer, Berlin (2014)Google Scholar
  102. Herrmannsdoerfer, M., Benz, S., Juergens, E.: Cope–automating coupled evolution of metamodels and models. Proceedings of the 23rd European Conference on ECOOP 2009–Object-Oriented Programming. Genoa, pp. 52–76. Springer, Berlin (2009)Google Scholar
  103. Holland, J.H.: Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor (1975)Google Scholar
  104. Ipate, F., Lefticaru, R.: Genetic model based testing: a framework and a case study. Roman. J. Inf. Sci. Technol. 11(3), 209–227 (2008)Google Scholar
  105. Iqbal, M.Z., Arcuri, A., Briand, L.: Environment modeling with UML/MARTE to support black-box system testing for real-time embedded systems: methodology and industrial case studies. Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems: Part I. MODELS’10, pp. 286–300. Springer, Berlin (2010)Google Scholar
  106. Iqbal, M.Z., Arcuri, A., Briand, L.: Empirical investigation of search algorithms for environment model-based testing of real-time embedded software. In: Proceedings of the 2012 International Symposium on Software Testing and Analysis. ISSTA 2012, pp. 199–209. ACM, New York, NY, USA (2012)Google Scholar
  107. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  108. Jensen, A.C., Cheng, B.H.C.: On the use of genetic programming for automated refactoring and the introduction of design patterns. Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation. GECCO ’10, pp. 1341–1348. ACM, New York, NY, USA (2010)Google Scholar
  109. Jilani, A.A., Iqbal, M.Z., Khan, M.U.: A search based test data generation approach for model transformations. In: Proceedings of the 7th International Conference on Theory and Practice of Model Transformations (ICMT ’14), pp. 17–24. Springer, York, UK, 21–22 July (2014)Google Scholar
  110. Kalaji, A.S. Hierons, R., Swift, S.: Generating feasible transition paths for from an extended finite state machine (efsm) with the counter problem. In: Proceeding SBST’10: 3rd Intertnational Workshop on Search-Based Software Testing, pp. 232–235 (2010)Google Scholar
  111. Kalaji, A.S., Hierons, R.M., Swift, S.: An integrated search-based approach for automatic testing from extended finite state machine (efsm) models. Inf. Softw. Technol. 53(12), 1297–1318 (2011)CrossRefGoogle Scholar
  112. 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. Lecture Notes in Computer Science, vol. 7260, pp. 197–215. Springer, Berlin (2012)Google Scholar
  113. Karaboga, D.: An idea based on Honey Bee Swarm for Numerical Optimization. Technical Report TR06, Erciyes University (2005)Google Scholar
  114. Kennedy, J., Eberhart, R.: Particle swarm optimization. IEEE Int. Conf. Neural Netw. 4, 1942–1948 (1995)Google Scholar
  115. Kent, S.: Model driven engineering. Proceedings of the Third International Conference on Integrated Formal Methods. IFM ’02, pp. 286–298. Springer, London, UK (2002)Google Scholar
  116. Kessentini, W., Sahraoui, H., Wimmer, M.: Automated metamodel/model co-evolution using a multi-objective optimization approach. In: Wąsowski, A., Lönn, H. (eds.) Modelling Foundations and Applications: 12th European Conference, ECMFA 2016, Held as Part of STAF 2016, Vienna, Austria, July 6–7, 2016, Proceedings, pp. 138–155. Springer International Publishing (2016)Google Scholar
  117. Kessentini, M., Sahraoui, H., Boukadoum, M.: Model transformation as an optimization problem. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 5301, pp. 159–173. Springer, Berlin (2008)Google Scholar
  118. Kessentini, M., Sahraoui, H., Boukadoum, M.: Testing sequence diagram to colored petri nets transformation: an immune system metaphor. In: Proceedings of the 20th Annual International Conference of the Center for Advanced Studies on Collaborative Research (CASCON ’10), pp. 72–85. ACM, 1–4 November (2010a)Google Scholar
  119. Kessentini, M., Wimmer, M., Sahraoui, H., Boukadoum, M.: Generating transformation rules from examples for behavioral models. In: Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications, BM-FA ’10, pp. 2:1–2:7. ACM, New York, NY, USA (2010b)Google Scholar
  120. Kessentini, M., Sahraoui, H., Boukadoum, M.: Example-based model transformation testing. Autom. Softw. Eng. 18(2), 199–224 (2011)CrossRefGoogle Scholar
  121. Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2012)CrossRefGoogle Scholar
  122. Kessentini, M., Langer, P., Wimmer, M.: Searching models, modeling search: on the synergies of SBSE and MDE. In: Proceedings of the 1st ICSE International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE 2013), pp. 51–54. IEEE, San Francisco, California, USA (2013a)Google Scholar
  123. Kessentini, M., Werda, W., Langer, P., Wimmer, M.: Search-based Model Merging. In: Proceeding of The 15th Annual Conference on Genetic and Evolutionary Computation (GECCO ’13), pp. 1453–1460. ACM, Amsterdam, The Netherlands, 6–10 July (2013b)Google Scholar
  124. Kessentini, M., Ouni, A., Langer, P., Wimmer, M., Bechikh, S.: Search-based metamodel matching with structural and syntactic measures. J. Syst. Softw. 97, 1–14 (2014)CrossRefGoogle Scholar
  125. Kilic, H., Koc, E., Cereci, I.: Search-based parallel refactoring using population-based direct approaches. In: Proceedings of the 3rd International Symposium on Search Based Software Engineering (SSBSE ’11), vol. 6956, pp. 271–272. Springer, Szeged, Hungary, 10–12 September (2011)Google Scholar
  126. Kirkpatrick, S., Gelatt, C., Vecchi, M.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983)MathSciNetCrossRefMATHGoogle Scholar
  127. Kirsopp, C., Shepperd, M., Hart, J.: Search heuristics, case-based reasoning and software project effort prediction. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2002), pp. 1367–1374. Morgan Kaufmann Publishers, New York, USA, 9–13 July (2002)Google Scholar
  128. Koc, E., Ersoy, N., Andac, A., Camlidere, Z.S., Cereci, I., Kilic, H.: An empirical study about search-based refactoring using alternative multiple and population-based search techniques. Comput. Inf. Sci. II 59–66 (2011)Google Scholar
  129. Koc, E., Ersoy, N., Camlidere, Z.S., Kilic, H.: A web-service for automated software refactoring using artificial bee colony optimization. In: Proceedings of the 3rd Internatinal Conference on Advances in Swarm Intelligence (ICSI ’12), pp. 318–325. Springer, Shenzhen, China, 17–20 June (2012)Google Scholar
  130. Kolovos, D.S., Rose, L.M., Matragkas, N., Paige, R.F., Guerra, E., Cuadrado, J., De Lara, J., Ráth, I., Varró, D., Tisi, M., Cabot, J.: A research roadmap towards achieving scalability in model driven engineering. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, BigMDE ’13, pp. 2:1–2:10. ACM, New York, NY, USA (2013)Google Scholar
  131. Korel, B.: Automated software test data generation. IEEE Trans. Softw. Eng. 16(8), 870–879 (1990)CrossRefGoogle Scholar
  132. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems), 1st edn. The MIT Press, Cambridge (1992)MATHGoogle Scholar
  133. Kruse, S.: Co-evolution of metamodels and model transformations: an operator-based, stepwise approach for the impact resolution of metamodel evolution on model transformations. Norderstedt : BoD—Books on Demand. Online-Ausg.: Co-Evolution of Metamodels and Model Transformations (2015)Google Scholar
  134. Kulkarni, P., Hines, S., Hiser, J., Whalley, D., Davidson, J., Jones, D.: Fast searches for effective optimization phase sequences. Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation. PLDI ’04, pp. 171–182. ACM, New York, NY, USA (2004)Google Scholar
  135. Küster, J.M., Sendall, S., Wahler, M.: Comparing two model transformation approaches. In: UML 2004. Workshop: OCL and Model Driven Engineering (2004)Google Scholar
  136. Le Goues, C., Nguyen, T.V., Forrest, S., Weimer, W.: GenProg: A generic method for automatic software repair. IEEE Trans. Softw. Eng. 38(1), 54–72 (2012)CrossRefGoogle Scholar
  137. Lee, S., Bae, G., Chae, H.S., Bae, D.-H., Kwon, Y.R.: Automated scheduling for clone-based refactoring using a competent ga. Softw. Pract. Exp. 41(5), 521–550 (2011)CrossRefGoogle Scholar
  138. Lefticaru, R., Ipate, F.: Functional search-based testing from state machines. In: 1st International Conference on Software Testing, Verification, and Validation, pp. 525–528 (2008)Google Scholar
  139. Li, H., Lam, C.P.: An ant colony optimization approach to test sequence generation for statebased software testing. In: Proceedings of the 5th International Conference on Quality Software (QSIC ’05), pp. 255–264, Melbourne, Australia, 19–20 September (2005a)Google Scholar
  140. Li, H., Lam, C.P.: Using anti-ant-like agents to generate test threads from the UML diagrams. In: Proceedings of Testing of Communicating Systems, 17th IFIP TC6/WG 6.1 International Conference (TestCom ’05), pp. 69–80, Montreal, Canada, 31 May–2 June (2005b)Google Scholar
  141. Lopez-Herrejon, R.E., Linsbauer, L., Egyed, A.: A systematic mapping study of search-based software engineering for software product lines. Inf. Softw. Technol. 61, 33–51 (2015)CrossRefGoogle Scholar
  142. Macías-Escrivá, F.D., Haber, R., del Toro, R., Hernandez, V.: Self-adaptive systems: a survey of current approaches, research challenges and applications. Expert Syst. Appl. 40(18), 7267–7279 (2013)CrossRefGoogle Scholar
  143. Mahouachi, R., Kessentini, M., Cinnide, M.: Search-based refactoring detection. In: Proceeding of The 15th Annual Conference Companion on Genetic and Evolutionary Computation (GECCO ’13), pp. 205–206. ACM, Amsterdam, The Netherlands, 6–10 July (2013)Google Scholar
  144. Mancoridis, S., Mitchell, B.S., Chen, Y., Gansner, E.R.: Bunch: A clustering tool for the recovery and maintenance of software system structures. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM ’99), pp. 50–59. IEEE, Oxford, England, UK, 30 August–3 September (1999)Google Scholar
  145. Mansoor, U., Kessentini, M., Langer, P., Wimmer, M., Bechikh, S., Deb, K.: Momm: Multi-objective model merging. J. Syst. Softw. 103, 423–439 (2015)CrossRefGoogle Scholar
  146. Mansouri, S.A., Harman, M., Zhang, Y.: Search based software engineering: a comprehensive analysis and review of trends techniques and applications. Technical Report TR-09-03, Department of Computer Science, King’s College London, (April 2009)Google Scholar
  147. Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. Proceedings of the First Joint WOSP/SIPEW International Conference on Performance Engineering. WOSP/SIPEW ’10, pp. 105–116. ACM, New York, NY, USA (2010)Google Scholar
  148. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices, Prentice Hall PTR, Upper Saddle River, NJ, USA (2003)Google Scholar
  149. McKinley, P.K., Cheng, B.H.C., Ramirez, A.J., Jensen, A.C.: Applying evolutionary computation to mitigate uncertainty in dynamically-adaptive, high-assurance middleware. J. Internet Serv. Appl. 3(1), 51–58 (2012)Google Scholar
  150. McMinn, P.: Search-based software test data generation: a survey. Softw. Test. Verif. Reliabil. 14(2), 105–156 (2004)CrossRefGoogle Scholar
  151. Mellor, S.J., Scott, K., Uhl, A., Weise, D., Soley, R.M.: MDA Distilled Principles of Model-Driven Architecture, vol. 88. Addison-Wesley, Reading (2004)Google Scholar
  152. Mendez, D., Etien, A., Muller, A., Casallas, R.: Towards transformation migration after metamodel evolution. In: Model and Evolution Workshop, Olso, Norway (2010)Google Scholar
  153. Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002)CrossRefGoogle Scholar
  154. Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  155. Mens, T., Taentzer, G.: Model-driven software refactoring. In: Dig, D. (ed.) WRT, pp. 25–27 (2007)Google Scholar
  156. Mens, T., Taentzer, G., Müller, D.: Challenges in model refactoring. In: Proceedings of 1st Workshop on Refactoring Tools. University of Berlin, Berlin (2007)Google Scholar
  157. Mens, T., Claes, M., Grosjean, P., Serebrenik, A.: Studying evolving software ecosystems based on ecological models. In: Mens, T., Serebrenik, A., Cleve, A. (eds.) Evolving Software Systems, pp. 297–326. Springer, Berlin (2014)CrossRefGoogle Scholar
  158. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRefGoogle Scholar
  159. Miller, W., Spooner, D.L.: Automatic generation of floating-point test data. IEEE Trans. Softw. Eng. 2(3), 223–226 (1976)MathSciNetCrossRefGoogle Scholar
  160. Misbhauddin, M., Alshayeb, M.: UML model refactoring: a systematic literature review. Empir. Softw. Eng. 20(1), 206–251 (2015)Google Scholar
  161. Mkaouer, M.W., Kessentini, M., Bechikh, S., Tauritz, D.R.: Preference-based multi-objective software modelling. In: Paige et al. (2013), pp. 61–66 (2013)Google Scholar
  162. Mkaouer, M.W., Kessentini, M., Bechikh, S., Cinnide, M.: A robust multi-objective approach for software refactoring under uncertainty. In: Proceedings of the 6th International Symposium on Search-Based Software Engineering (SSBSE ’14), vol. 8636, pp. 168–183. Springer, Fortaleza, Brazil, 26–29 August (2014a)Google Scholar
  163. Mkaouer, M.W., Kessentini, M., Bechikh, S., Deb, K., Cinnide, M.: High dimensional search-based software engineering: Finding tradeoffs among 15 objectives for automating software refactoring using nsga-iii. In: Proceedings of the 2014 Conference on Genetic and Evolutionary Computation (GECCO ’14), pp. 1263–1270. ACM, Vancouver, Canada, 12–16 July (2014b)Google Scholar
  164. Mkaouer, M., Kessentini, M., Bechikh, S., Cinnide, M., Deb, K.: On the use of many quality attributes for software refactoring: a many-objective search-based software engineering approach. Empir. Softw. Eng. 1–43 (2015)Google Scholar
  165. Mladenovic, N.: A variable neighborhood algorithm—a new metaheuristic for combinatorial optimization. In: Abstracts of papers presented at Optimization Days, p. 112, Montral, Canada, (1995)Google Scholar
  166. Mladenovic, N., Hansen, P.: Variable neighborhood search. Comput. Oper. Res. 24, 1097–1100 (1997)MathSciNetCrossRefMATHGoogle Scholar
  167. Moghadam, I.H.: Multi-level automated refactoring using design exploration. In: Cohen, M.B., Ó Cinnéide M. (eds.) Search Based Software Engineering: Third International Symposium, SSBSE 2011, Szeged, Hungary, September 10–12, 2011, Proceedings, pp. 70–75. Springer Berlin Heidelberg (2011)Google Scholar
  168. Moghadam, I.H., Cinnéide, M.Ó: Code-imp: a tool for automated search-based refactoring. Proceedings of the 4th Workshop on Refactoring Tools. WRT ’11, pp. 41–44. ACM, New York, NY, USA (2011)Google Scholar
  169. Moghadam, I.H., Cinnide, M.: Automated refactoring using design differencing. In: Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CSMR ’12), pp. 43–52. IEEE, Szeged, Hungary, 27–30 March (2012)Google Scholar
  170. Mohagheghi, P., Dehlen, V., Neple, T.: Definitions and approaches to model quality in model-based software development–a review of literature. Inf. Softw. Technol. 51(12), 1646–1669 (2009)CrossRefGoogle Scholar
  171. Muller, P.-A., Fondement, F., Baudry, B., Combemale, B.: Modeling modeling modeling. Softw. Syst. Model. 11(3), 347–359 (2012)CrossRefGoogle Scholar
  172. Mussbacher, G., Amyot, D., Breu, R., Bruel, J.-M., Cheng, B.H.C., Collet, P., Combemale, B., France, R., Heldal, R., Hill, J., Kienzle, J., Schöttle, M., Steimann, F., Stikkolorum, D., Whittle, J.: The relevance of model-driven engineering thirty years from now. In: Dingel, J., Schulte, W., Ramos, I., Abraho, S., Insfran, E. (eds.) Model-Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 8767, pp. 183–200. Springer, Berlin (2014)Google Scholar
  173. Nam, D., Park, C.H.: Multiobjective simulated annealing: a comparative study to evolutionary algorithms. Int. J. Fuzzy Syst. 2(2), 87–97 (2000)Google Scholar
  174. Neto, F.G.O, Feldt, R., Torkar, R., Machado, P.D.L.: Searching for models to evaluate software technology. In: 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 12–15 May (2013)Google Scholar
  175. Nisbet, A.: Gaps: A compiler framework for genetic algorithm (ga) optimised parallelisation. In: Sloot, P.M.A., Bubak, M., Hertzberger, L.O. (eds.) High-Performance Computing and Networking, International Conference and Exhibition, HPCN Europe, volume LNCS, vol. 1401, pp. 987–989. Springer, Amsterdam, The Netherlands, 21–23 April (1998)Google Scholar
  176. Ofria, C., Wilke, C.O.: Avida: A software platform for research in computational evolutionary biology. Artif. Life 10(2), 191–229 (2004)CrossRefGoogle Scholar
  177. O’Keeffe, M., Cinnéide, M.Ó.: Search-based refactoring: An empirical study. J. Softw. Maint. Evol. 20(5), 345–364 (2008)Google Scholar
  178. OMG: OMG Meta Object Facility (MOF) Core Specification, Version 2.4.1 (2013)Google Scholar
  179. Opdyke, W.F.: Refactoring Object-oriented Frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA (1992)Google Scholar
  180. Otero, Fernando E.B., Johnson, Colin G., Freitas, Alex A., Thompson, Simon J.: Refactoring in automatically generated programs. In: Proceedings of the 2nd International Symposium on Search Based Software Engineering (SSBSE ’10). IEEEBenevento, Italy, 7–9 September (2010)Google Scholar
  181. Ouni, A., Kessentini, M., Sahraoui, H.: Search-based refactoring using recorded code changes. In: Proceedings of the 17th European Conference on Software Maintenance and Reengineering (CSMR ’13), pp. 221–230. IEEE, Genova, Italy, 5–8 March (2013a)Google Scholar
  182. Ouni, A., Kessentini, M., Sahraoui, H., Hamdi, M.S.: The use of development history in software refactoring using a multi-objective evolutionary algorithm. In: Proceeding of The 15th Annual Conference on Genetic and Evolutionary Computation (GECCO ’13), pp. 1461–1468. ACM, Amsterdam, The Netherlands, 6–10 July (2013b)Google Scholar
  183. Paige, R.F., Harman, M., Williams, J.R. (eds.): 1st International Workshop on Combining Modelling and Search-Based Software Engineering, CMSBSE@ICSE 2013. IEEE, San Francisco, CA, USA, 20 May (2013)Google Scholar
  184. Passino, K.M.: Biomimicry of bacterial foraging for distributed optimization and control. IEEE Control Syst. Mag. 22(3), 52–67 (2002)MathSciNetCrossRefGoogle Scholar
  185. Poulding, S.: The Use of Automated Search in Deriving Software Testing Strategies. Ph.D. thesis, University of York (2013)Google Scholar
  186. Prasanna, M., Chandran, K.R.: Automatic test case generation for UML object diagrams using genetic algorithm. Int. J. Adv. Soft Comput. Appl. 1(1), 19–32 (2009)Google Scholar
  187. Räihä, O.: A survey on search-based software design. Comput. Sci. Rev. 4(4), 203–249 (2010)CrossRefGoogle Scholar
  188. Ramirez, A.J., Cheng, B.H.C.: Evolving models at run time to address functional and non-functional adaptation requirements. In: Proceedings of the 4th International Workshop on Models at Runtime (2009)Google Scholar
  189. Ramirez, A.J., Cheng, B.H.C.: Automatic derivation of utility functions for monitoring software requirements. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 6981, pp. 501–516. Springer, Berlin (2011)Google Scholar
  190. Ramirez, A.J., Knoester, D.B., Cheng, B.H.C., McKinley, P.K.: Applying genetic algorithms to decision making in autonomic computing systems. Proceedings of the 6th International Conference on Autonomic Computing. ICAC ’09, pp. 97–106. ACM, New York, NY, USA (2009)Google Scholar
  191. Rechenberg, I.: Evolutionsstrategie: optimierung technischer systeme nach prinzipien der biologischen evolution. Frommann-Holzboog, Stuttgart (1973)Google Scholar
  192. Rose, L.M., Poulding, S.: Efficient probabilistic testing of model transformations using search. In: 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 16–21 May (2013)Google Scholar
  193. Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.C.: An analysis of approaches to model migration. In: Proceedings of Models and Evolution (MoDSE-MCCM) Workshop, 12th ACM/IEEE International Conference on Model Driven Engineering, Languages and Systems (2009)Google Scholar
  194. Rose, L.M., Etien, A., Mendez, D., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Comparing model-metamodel and transformation-metamodel co-evolution. In: Models and Evolution Workshop, co-located with the International Conference on Model Driven Engineering Languages and Systems (MoDELS) (2010)Google Scholar
  195. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall Inc, Upper Saddle River (1991)MATHGoogle Scholar
  196. Ryan, C.: Automatic Re-Engineering of Software using Genetic Programming, vol. 2. Kluwer Academic Publishers, Dordrecht (2000)CrossRefMATHGoogle Scholar
  197. Saada, H., Huchard, M., Nebut, C., Sahraoui, H.: Recovering model transformation traces using multi-objective optimization. In: IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), pp. 688–693 (2013)Google Scholar
  198. Saada, H., Huchard, M., Nebut, C., Sahraoui, H.A.: Model matching for model transformation - a meta-heuristic approach. In: Ferreira Pires, L., Hammoudi, S., Filipe, J., das Neves, R.C. (eds.) MODELSWARD, pp. 174–181. SciTePress, Setúbal (2014)Google Scholar
  199. Sabharwal, S., Sibal, R., Sharman, C.: Applying genetic algorithm for prioritization of test case scenarios derived from UML diagrams. Int. J. Comput. Sci. Issues 8(2), 433–444 (2011)Google Scholar
  200. Sahin, D., Kessentini, M., Wimmer, M., Deb, K.: Model transformation testing: a bi-level search-based software engineering approach. J. Softw. Evol. Process 27(11), 821–837 (2015)CrossRefGoogle Scholar
  201. Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  202. Shelburg, J., Kessentini, M., Tauritz, D.R.: Regression testing for model transformations: a multi-objective approach. In: Proceedings of the 5th International Symposium on Search Based Software Engineering (SSBSE ’13), vol. 8084, pp. 209–223. Springer, St. Petersburg, Russia, 24–26 August (2013)Google Scholar
  203. Shirole, M., Kumar, R.: A hybrid genetic algorithm based test case generation using sequence diagrams. In: Ranka, S., Banerjee, A., Biswas, K.K., Dua, S., Mishra, P., Moona, R., Poon, S.-H., Wang, C.-L. (eds.) IC3 (1), volume 94 of Communications in Computer and Information Science, pp. 53–63. Springer, Berlin (2010)Google Scholar
  204. Shirole, M., Suthar, A., Kumar, R.: Generation of improved test cases from UML state diagram using genetic algorithm. In: Bahulkar, Arun, Kesavasamy, K., Prabhakar, T.V., Shroff, Gautam (eds), ISEC, pp. 125–134. ACM (2011)Google Scholar
  205. Shirole, M., Kommuri, M., Kumar, R.: Transition sequence exploration of UML activity diagram using evolutionary algorithm. Proceedings of the 5th India Software Engineering Conference. ISEC ’12, pp. 97–100. ACM, New York, NY, USA (2012)Google Scholar
  206. Simon, D.: Biogeography-based optimization. IEEE Trans. Evol. Comput. 12, 702–713 (2008)CrossRefGoogle Scholar
  207. Simons, C.L.: Whither (away) software engineers in SBSE? In: 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 49–50 (2013)Google Scholar
  208. Simons, C., Singer, J., White, D.R.: Search-based refactoring: metrics are not enough. In: Proceedings of the 7th International Symposium on Search-Based Software Engineering (SSBSE ’15), pp. 47–61. Springer, Bergamo, Italy, 5–7 September (2015)Google Scholar
  209. Sttzle, T.: Local Search Algorithms for Combinatorial Problems: Analysis, Improvements, and New Applications. Ph.D. thesis, Darmstadt University of Technology (1998)Google Scholar
  210. Sun, Y., White, J., Gray, J.: Model Transformation by Demonstration. In: Schürr, A., Selic, B. (eds.) Model Driven Engineering Languages and Systems, volume 5795, chapter 58, pp. 712–726. Springer, Berlin (2009)Google Scholar
  211. Sztipanovits, J., Karsai, G.: Model-integrated computing. Computer 30(4), 110–111 (1997)CrossRefGoogle Scholar
  212. Taentzer, G., Ermel, C., Langer, P., Wimmer, M.: A fundamental approach to model versioning based on graph modifications: from theory to implementation. Softw. Syst. Model. 13(1), 239–272 (2014)CrossRefGoogle Scholar
  213. Talbi, E.-G.: Metaheuristics: From Design to Implementation, 1st edn. Wiley, Hoboken (2009)CrossRefMATHGoogle Scholar
  214. Thomas, K.: Matters of (meta-)modeling. Softw. Syst. Model. 5(4), 369–385 (2006)CrossRefGoogle Scholar
  215. Truyen, F.: The Fast Guide to Model Driven Architecture—The basics of Model Driven Architecture (2006)Google Scholar
  216. Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco (2007)Google Scholar
  217. Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliabil. 22(5), 297–312 (2012)CrossRefGoogle Scholar
  218. Van Der Straeten, R., Mens, T., Van Baelen, S.: Challenges in model-driven software engineering. In: Chaudron, M.R.V. (ed.) Models in Software Engineering. Lecture Notes in Computer Science, vol. 5421, pp. 35–47. Springer, Berlin (2009)CrossRefGoogle Scholar
  219. Varró, D.: Model transformation by example. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS. Lecture Notes in Computer Science, vol. 4199, pp. 410–424. Springer, Berlin (2006)Google Scholar
  220. Varró, D., Balogh, Z.: Automating model transformation by example using inductive logic programming. In: Cho, Y., Wainwright, R.L., Haddad, H., Shin, S.Y., Koo, Y.W. (eds.) Proceedings of the 2007 ACM Symposium on Applied Computing (SAC 2007), pp. 978–984. ACM Press, Seoul, Korea, 11–15 March (2007)Google Scholar
  221. Voudouris, C.: Guided local search for combinatorial optimization problems. Ph.D. thesis, University of Essex (1997)Google Scholar
  222. Voudouris, C., Tsang, E.: Guided local search. Eur. J. Oper. Res. 113, 469–499 (1999)CrossRefMATHGoogle Scholar
  223. Wang, W., Kessentini, M., Jiang, W.: Test cases generation for model transformations from structural information. In: Kessentini, M., Langer, P., Sahraoui, H.A. (eds.) MDEBE@MoDELS, volume 1104 of CEUR Workshop Proceedings, pp. 42–51. CEUR-WS.org (2013)Google Scholar
  224. White, D.: Cloud Computing and SBSE. In: Ruhe, G., Zhang, Y. (eds.) Search Based Software Engineering. Lecture Notes in Computer Science, vol. 8084, pp. 16–18. Springer, Berlin (2013)Google Scholar
  225. Williams, K.P.: Evolutionary Algorithms for Automatic Parallelization. Ph.D. thesis, University of Reading, UK, Department of Computer Science (1998)Google Scholar
  226. Williams, J.R., Paige, R.F., Polack, F.A.C.: Searching for model migration strategies. Proceedings of the 6th International Workshop on Models and Evolution. ME ’12, pp. 39–44. ACM, New York, NY, USA (2012)Google Scholar
  227. Williams, J.R., Poulding, S.M., Paige, R.F., Polack, F.: Exploring the use of metaheuristic search to infer models of dynamic system behaviour. In: Bencomo, N., France, R.B., Götz, S., Rumpe, B. (eds.) MoDELS@Run.time, volume 1079 of CEUR Workshop Proceedings, pp. 76–88. CEUR-WS.org (2013)Google Scholar
  228. Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards model transformation generation by-example. In: Proceedings of the 40th Annual Hawaii International Conference on System Sciences, HICSS ’07, p. 285b. IEEE Computer Society, Washington, DC, USA (2007)Google Scholar
  229. Xu, D., Li, H., Lam, C.P.: Using adaptive agents to automatically generate test scenarios from the UML activity diagrams. In: Software Engineering Conference, 2005. APSEC ’05. 12th Asia-Pacific, pages 8, pp.–392. IEEE (005)Google Scholar
  230. Yano, T., Martins, E., De Sousa, F.L.: Generating feasible test paths from an executable model using a multi-objective approach. In: Proceeding SBST-10: 3rd Interntional Workshop on Search- Based Software Testing, pp. 236–239 (2010)Google Scholar
  231. Yano, T., Martins, E., de Sousa, F.L.: Most: a multi-objective search-based testing from efsm. In: IEEE International Conference on Software Testing Verification and Validation Workshop, pp. 164–173. IEEE Computer Society, Los Alamitos, CA, USA (2011)Google Scholar
  232. Zhang, Y., Finkelstein, A., Harman, M.: Search based requirements optimisation: existing work and challenges. In: Proceedings of the 14th International Working Conference, Requirements Engineering: Foundation for Software Quality (RefsQ ’08), pp. 88–94, Montpellier, France, 16–17 June (2008)Google Scholar
  233. Zhang, J., Yang, R., Chen, Z., Zhao, Z., Xu, B.: Automated EFSM-based test case generation with scatter search. In 7th International Workshop on Automation of Software Test (AST), pp. 76–82 (2012)Google Scholar

Copyright information

© Springer Science+Business Media New York 2017

Authors and Affiliations

  • Ilhem Boussaïd
    • 1
  • Patrick Siarry
    • 2
  • Mohamed Ahmed-Nacer
    • 1
  1. 1.LSIUniversity of Science and Technology Houari BoumedieneBab-Ezzouar, AlgiersAlgeria
  2. 2.LiSSi (EA 3956)Université de Paris-Est Créteil Val de MarneCréteilFrance

Personalised recommendations