Skip to main content
Log in

A survey on search-based model-driven engineering

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. www.omg.org.

  2. http://www.eclipse.org/modeling/.

  3. 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).

  4. The term “search” is used to refer to the metaheuristic search-based optimization techniques.

  5. http://crestweb.cs.ucl.ac.uk/resources/sbse_repository/repository.html.

  6. 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).

  7. http://martin-fleck.github.io/momot/.

  8. 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.

  9. 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.

  10. 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.

  11. 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  MATH  Google Scholar 

  • Boussaïd, I., Lepagnot, J., Siarry, P.: A survey on optimization metaheuristics. Inf. Sci. 237, 82–117 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Cooper, K.D., Schielke, P.J., Subramanian, D.: Optimizing for reduced code space using genetic algorithms. SIGPLAN Not. 34(7), 1–9 (1999)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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 

  • 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)

    Article  MathSciNet  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • Feo, T.A., Resende, M.G.C.: Greedy randomized adaptive search procedures. J. Global Optim. 6(2), 109–133 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    MATH  Google Scholar 

  • Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)

    MATH  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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)

    Article  MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2012)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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 

  • 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)

    Article  Google Scholar 

  • Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)

    Article  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)

    Article  Google Scholar 

  • Miller, W., Spooner, D.L.: Automatic generation of floating-point test data. IEEE Trans. Softw. Eng. 2(3), 223–226 (1976)

    Article  MathSciNet  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Muller, P.-A., Fondement, F., Baudry, B., Combemale, B.: Modeling modeling modeling. Softw. Syst. Model. 11(3), 347–359 (2012)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • O’Keeffe, M., Cinnéide, M.Ó.: Search-based refactoring: An empirical study. J. Softw. Maint. Evol. 20(5), 345–364 (2008)

    Google Scholar 

  • 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)

    Article  MathSciNet  Google Scholar 

  • 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)

    Google Scholar 

  • Räihä, O.: A survey on search-based software design. Comput. Sci. Rev. 4(4), 203–249 (2010)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    MATH  Google Scholar 

  • Ryan, C.: Automatic Re-Engineering of Software using Genetic Programming, vol. 2. Kluwer Academic Publishers, Dordrecht (2000)

    Book  MATH  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • Sztipanovits, J., Karsai, G.: Model-integrated computing. Computer 30(4), 110–111 (1997)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Talbi, E.-G.: Metaheuristics: From Design to Implementation, 1st edn. Wiley, Hoboken (2009)

    Book  MATH  Google Scholar 

  • Thomas, K.: Matters of (meta-)modeling. Softw. Syst. Model. 5(4), 369–385 (2006)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliabil. 22(5), 297–312 (2012)

    Article  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • 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 

  • 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)

    Article  MATH  Google Scholar 

  • 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)

Download references

Acknowledgements

The authors thank the reviewers for their insightful and constructive comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ilhem Boussaïd.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-017-0215-4

Keywords

Navigation