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.











Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
The model-driven architecture approach defines system functionality using a platform-independent model (PIM) which exhibits a sufficient degree of independence so as to enable its mapping to one or more platforms. This is commonly achieved by defining a set of services in a way that abstracts out technical details. A platform-specific model (PSM) combines the specifications in the PIM with the details required to stipulate how a system uses a particular type of platform (Truyen 2006).
The term “search” is used to refer to the metaheuristic search-based optimization techniques.
Various refactoring approaches are discussed in Räihä (2010) (14 papers). The approaches presented in this survey investigate refactoring at the design level (6 papers). Some other search-based refactoring approaches at the code level have been cited but not discussed (17 papers).
Models must be smaller and simpler (more abstract) than the SUT, or at least easier to check, modify, and maintain. Otherwise, the efforts of validating the model would exactly match the efforts of validating the SUT. On the other hand, models must be precise and complete enough to allow automated derivation of tests.
The generated test cases are abstract test cases as the model which is given as input to test generation process is the abstract representation of the SUT.
The work of Herrmannsdoerfer et al. (2009) is concerned with the migration of models in response to metamodel adaptation. The approach presented defines a set of evolutionary operators on metamodels. The authors associate a model migration strategy to each operator. Consequently, if a developer modifies his/her metamodel by using the provided operators, the corresponding migration can be carried out automatically.
Genetic Programming as a means of program improvement has come to be known as genetic improvement and has also been referred to as evolutionary improvement.
References
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)
Ab. Rahim, L., Whittle, J.: A survey of approaches for verifying model transformations. Softw. Syst. Model. 14(2), 1003–1028 (2015)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Bagnall, A., Rayward-Smith, V., Whittley, I.: The next release problem. Inf. Softw. Technol. 43(14), 883–890 (2001)
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)
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)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28(1), 4–17 (2002)
Batot, E.: Generating examples for knowledge abstraction in MDE: a multi-objective framework. In: Balaban and Gogolla (2015), pp. 1–6 (2015)
Baudry, B., Fleurey, F., Jzquel, J.-M., Le Traon, Y.: Automatic test cases optimization: a bacteriologic algorithm. IEEE Softw. 22(2), 76–82 (2005)
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)
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)
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)
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)
Bézivin, J.: In search of a basic principle for model driven engineering. Novatica J. 5(2), 21–24 (2004)
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)
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)
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)
Blum, C., Puchinger, J., Raidl, G.R., Roli, A.: Hybrid metaheuristics in combinatorial optimization: a survey. Appl. Soft Comput. 11(6), 4135–4151 (2011)
Boussaïd, I., Lepagnot, J., Siarry, P.: A survey on optimization metaheuristics. Inf. Sci. 237, 82–117 (2013)
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)
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)
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)
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)
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)
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)
Chicano, F., Alba, E.: Management of software projects with gas. In: 6th Metaheuristics International Conference (MIC2005), Vienna, Austria (2005)
Chisǎliţǎ-Creţu, C.: The Multi-Objective Refactoring Set Selection Problem—A Solution Representation Analysis, pp. 441–462. InTech (2011)
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)
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)
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)
Cooper, K.D., Schielke, P.J., Subramanian, D.: Optimizing for reduced code space using genetic algorithms. SIGPLAN Not. 34(7), 1–9 (1999)
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)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Farmer, J.D., Packard, N.H., Perelson, A.S.: The immune system, adaptation, and machine learning. Phys. D 2(1–3), 187–204 (1986)
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)
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)
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)
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)
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)
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)
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)
Favre, J.: Towards a basic theory to model model driven engineering. In: Proceedimngs of the UML2004 International Workshop on Software Model Engineering (2004)
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)
Feo, T.A., Resende, M.G.C.: Greedy randomized adaptive search procedures. J. Global Optim. 6(2), 109–133 (1995)
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-27
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)
Fogel, L.J., Owens, A.J., Walsh, M.J.: Artificial Intelligence through Simulated Evolution. Wiley, New York (1966)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)
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)
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)
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)
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)
Glover, F.: Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 13(5), 533–549 (1986)
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)
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)
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)
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)
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)
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). ACM
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)
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)
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)
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)
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)
Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Herrmannsdörfer, M., Wachsmuth, G.: Coupled Evolution of Software Metamodels and Models, pp. 33–63. Springer, Berlin (2014)
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)
Holland, J.H.: Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor (1975)
Ipate, F., Lefticaru, R.: Genetic model based testing: a framework and a case study. Roman. J. Inf. Sci. Technol. 11(3), 209–227 (2008)
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)
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)
Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)
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)
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)
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)
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)
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)
Karaboga, D.: An idea based on Honey Bee Swarm for Numerical Optimization. Technical Report TR06, Erciyes University (2005)
Kennedy, J., Eberhart, R.: Particle swarm optimization. IEEE Int. Conf. Neural Netw. 4, 1942–1948 (1995)
Kent, S.: Model driven engineering. Proceedings of the Third International Conference on Integrated Formal Methods. IFM ’02, pp. 286–298. Springer, London, UK (2002)
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)
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)
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)
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)
Kessentini, M., Sahraoui, H., Boukadoum, M.: Example-based model transformation testing. Autom. Softw. Eng. 18(2), 199–224 (2011)
Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2012)
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)
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)
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)
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)
Kirkpatrick, S., Gelatt, C., Vecchi, M.: Optimization by simulated annealing. Science 220(4598), 671–680 (1983)
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)
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)
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)
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)
Korel, B.: Automated software test data generation. IEEE Trans. Softw. Eng. 16(8), 870–879 (1990)
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)
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)
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)
Küster, J.M., Sendall, S., Wahler, M.: Comparing two model transformation approaches. In: UML 2004. Workshop: OCL and Model Driven Engineering (2004)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Mansoor, U., Kessentini, M., Langer, P., Wimmer, M., Bechikh, S., Deb, K.: Momm: Multi-objective model merging. J. Syst. Softw. 103, 423–439 (2015)
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)
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)
Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices, Prentice Hall PTR, Upper Saddle River, NJ, USA (2003)
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)
McMinn, P.: Search-based software test data generation: a survey. Softw. Test. Verif. Reliabil. 14(2), 105–156 (2004)
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)
Mendez, D., Etien, A., Muller, A., Casallas, R.: Towards transformation migration after metamodel evolution. In: Model and Evolution Workshop, Olso, Norway (2010)
Mens, T.: A state-of-the-art survey on software merging. IEEE Trans. Softw. Eng. 28(5), 449–462 (2002)
Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)
Mens, T., Taentzer, G.: Model-driven software refactoring. In: Dig, D. (ed.) WRT, pp. 25–27 (2007)
Mens, T., Taentzer, G., Müller, D.: Challenges in model refactoring. In: Proceedings of 1st Workshop on Refactoring Tools. University of Berlin, Berlin (2007)
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)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)
Miller, W., Spooner, D.L.: Automatic generation of floating-point test data. IEEE Trans. Softw. Eng. 2(3), 223–226 (1976)
Misbhauddin, M., Alshayeb, M.: UML model refactoring: a systematic literature review. Empir. Softw. Eng. 20(1), 206–251 (2015)
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)
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)
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)
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)
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)
Mladenovic, N., Hansen, P.: Variable neighborhood search. Comput. Oper. Res. 24, 1097–1100 (1997)
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)
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)
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)
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)
Muller, P.-A., Fondement, F., Baudry, B., Combemale, B.: Modeling modeling modeling. Softw. Syst. Model. 11(3), 347–359 (2012)
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)
Nam, D., Park, C.H.: Multiobjective simulated annealing: a comparative study to evolutionary algorithms. Int. J. Fuzzy Syst. 2(2), 87–97 (2000)
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)
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)
Ofria, C., Wilke, C.O.: Avida: A software platform for research in computational evolutionary biology. Artif. Life 10(2), 191–229 (2004)
O’Keeffe, M., Cinnéide, M.Ó.: Search-based refactoring: An empirical study. J. Softw. Maint. Evol. 20(5), 345–364 (2008)
OMG: OMG Meta Object Facility (MOF) Core Specification, Version 2.4.1 (2013)
Opdyke, W.F.: Refactoring Object-oriented Frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA (1992)
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)
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)
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)
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)
Passino, K.M.: Biomimicry of bacterial foraging for distributed optimization and control. IEEE Control Syst. Mag. 22(3), 52–67 (2002)
Poulding, S.: The Use of Automated Search in Deriving Software Testing Strategies. Ph.D. thesis, University of York (2013)
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)
Räihä, O.: A survey on search-based software design. Comput. Sci. Rev. 4(4), 203–249 (2010)
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)
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)
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)
Rechenberg, I.: Evolutionsstrategie: optimierung technischer systeme nach prinzipien der biologischen evolution. Frommann-Holzboog, Stuttgart (1973)
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)
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)
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)
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall Inc, Upper Saddle River (1991)
Ryan, C.: Automatic Re-Engineering of Software using Genetic Programming, vol. 2. Kluwer Academic Publishers, Dordrecht (2000)
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)
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)
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)
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)
Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)
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)
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)
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)
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)
Simon, D.: Biogeography-based optimization. IEEE Trans. Evol. Comput. 12, 702–713 (2008)
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)
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)
Sttzle, T.: Local Search Algorithms for Combinatorial Problems: Analysis, Improvements, and New Applications. Ph.D. thesis, Darmstadt University of Technology (1998)
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)
Sztipanovits, J., Karsai, G.: Model-integrated computing. Computer 30(4), 110–111 (1997)
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)
Talbi, E.-G.: Metaheuristics: From Design to Implementation, 1st edn. Wiley, Hoboken (2009)
Thomas, K.: Matters of (meta-)modeling. Softw. Syst. Model. 5(4), 369–385 (2006)
Truyen, F.: The Fast Guide to Model Driven Architecture—The basics of Model Driven Architecture (2006)
Utting, M., Legeard, B.: Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco (2007)
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliabil. 22(5), 297–312 (2012)
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)
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)
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)
Voudouris, C.: Guided local search for combinatorial optimization problems. Ph.D. thesis, University of Essex (1997)
Voudouris, C., Tsang, E.: Guided local search. Eur. J. Oper. Res. 113, 469–499 (1999)
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)
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)
Williams, K.P.: Evolutionary Algorithms for Automatic Parallelization. Ph.D. thesis, University of Reading, UK, Department of Computer Science (1998)
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)
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)
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)
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)
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)
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)
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)
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)
Acknowledgements
The authors thank the reviewers for their insightful and constructive comments and suggestions.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Boussaïd, I., Siarry, P. & Ahmed-Nacer, M. A survey on search-based model-driven engineering. Autom Softw Eng 24, 233–294 (2017). https://doi.org/10.1007/s10515-017-0215-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-017-0215-4