Handling nonconforming individuals in search-based model-driven engineering: nine generic strategies for feature location in the modeling space of the meta-object facility

Lately, the model-driven engineering community has been paying more attention to the techniques offered by the search-based software engineering community. However, even though the conformance of models and metamodels is a topic of great interest for the modeling community, the works that address model-related problems through the use of search metaheuristics are not taking full advantage of the strategies for handling nonconforming individuals. The search space can be huge when searching in model artifacts (magnitudes of around $$10^{150}$$ for models of 500 elements). By handling the nonconforming individuals, the search space can be drastically reduced. In this work, we present a set of nine generic strategies for handling nonconforming individuals that are ready to be applied to model artifacts. The strategies are independent from the application domain and only include constraints derived from the meta-object facility. In addition, we evaluate the strategies with two industrial case studies using an evolutionary algorithm to locate features in models. The results show that the use of the strategies presented can reduce the number of generations needed to reach the solution by 90% of the original value. Generic strategies such as the ones presented in this work could lead to the emergence of more complex fitness functions for searches in models or even new applications for the search metaheuristics in model-related problems.

[1]  Vicente Pelechano,et al.  Measures to report the Location Problem of Model Fragment Location , 2018, MoDELS.

[2]  Jaime Font,et al.  Automatic query reformulations for feature location in a model-based family of software products , 2018, Data Knowl. Eng..

[3]  Benoît Combemale,et al.  Automatically Searching for Metamodel Well-Formedness Rules in Examples and Counter-Examples , 2013, MoDELS.

[4]  Thelma Elita Colanzi,et al.  Representation of Software Product Line Architectures for search-based design , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[5]  Xin Yao,et al.  Stochastic ranking for constrained evolutionary optimization , 2000, IEEE Trans. Evol. Comput..

[6]  Jaime Font,et al.  Feature location in models through a genetic algorithm driven by information retrieval techniques , 2016, MoDELS.

[7]  Sandro Schulze,et al.  Interface variability in family model mining , 2013, SPLC '13 Workshops.

[8]  Patrick Siarry,et al.  A survey on search-based model-driven engineering , 2017, Automated Software Engineering.

[9]  Lawrence Davis,et al.  Using a genetic algorithm to optimize problems with feasibility constraints , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[10]  Jaime Font Burdeus Location of Features as Model Fragments and their Co-Evolution , 2017 .

[11]  Lawrence Davis,et al.  Shall We Repair? Genetic AlgorithmsCombinatorial Optimizationand Feasibility Constraints , 1993, ICGA.

[12]  Richard F. Paige,et al.  Metamodel-based model conformance and multiview consistency checking , 2007, TSEM.

[13]  James R. Williams,et al.  A novel representation for search-based model-driven engineering , 2013 .

[14]  Andrian Marcus,et al.  An information retrieval approach to concept location in source code , 2004, 11th Working Conference on Reverse Engineering.

[15]  Carlos A. Coello Coello,et al.  THEORETICAL AND NUMERICAL CONSTRAINT-HANDLING TECHNIQUES USED WITH EVOLUTIONARY ALGORITHMS: A SURVEY OF THE STATE OF THE ART , 2002 .

[16]  David E. Goldberg,et al.  Alleles, loci and the traveling salesman problem , 1985 .

[17]  Anthony Chen,et al.  Constraint handling in genetic algorithms using a gradient-based repair method , 2006, Comput. Oper. Res..

[18]  Jaime Font,et al.  Building software product lines from conceptualized model patterns , 2015, SPLC.

[19]  Birger Møller-Pedersen,et al.  Model Comparison to Synthesize a Model-Driven Software Product Line , 2011, 2011 15th International Software Product Line Conference.

[20]  Yuanyuan Zhang,et al.  Search based software engineering for software product line engineering: a survey and directions for future work , 2014, SPLC.

[21]  Sergio Segura,et al.  An assessment of search-based techniques for reverse engineering feature models , 2015, J. Syst. Softw..

[22]  Á. Horváth,et al.  Formal validation of domain-specific languages with derived features and well-formedness constraints , 2017, Software & Systems Modeling.

[23]  Carlos Cetina,et al.  Utilizing Automatic Query Reformulations as Genetic Operations to Improve Feature Location in Software Models , 2020, IEEE Transactions on Software Engineering.

[24]  Birger Møller-Pedersen,et al.  Augmenting Product Lines , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[25]  Lionel C. Briand,et al.  Generating Test Data from OCL Constraints with Search Techniques , 2013, IEEE Transactions on Software Engineering.

[26]  Gordon Fraser,et al.  Parameter tuning or default values? An empirical investigation in search-based software engineering , 2013, Empirical Software Engineering.

[27]  Manuel Wimmer,et al.  Search-Based Model Transformations with MOMoT , 2016, ICMT.

[28]  D. Chicco,et al.  The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation , 2020, BMC Genomics.

[29]  Jaime Font,et al.  Fragment retrieval on models for model maintenance: Applying a multi-objective perspective to an industrial case study , 2018, Inf. Softw. Technol..

[30]  Ákos Horváth,et al.  Multi-objective optimization in rule-based design space exploration , 2014, ASE.

[31]  Sergio Segura,et al.  Automated generation of computationally hard feature models using evolutionary algorithms , 2014, Expert Syst. Appl..

[32]  Marouane Kessentini,et al.  Searching models, modeling search: On the synergies of SBSE and MDE , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[33]  Jaime Font,et al.  Feature Location in Model-Based Software Product Lines Through a Genetic Algorithm , 2016, ICSR.

[34]  Lionel C. Briand,et al.  A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering , 2014, Softw. Test. Verification Reliab..

[35]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[36]  Zbigniew Michalewicz,et al.  A Survey of Constraint Handling Techniques in Evolutionary Computation Methods , 1995 .

[37]  R. Grissom,et al.  Effect sizes for research: A broad practical approach. , 2005 .

[38]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[39]  Jaime Font,et al.  Improving feature location in long-living model-based product families designed with sustainability goals , 2017, J. Syst. Softw..

[40]  Francisco Herrera,et al.  Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: Experimental analysis of power , 2010, Inf. Sci..

[41]  Marouane Kessentini,et al.  Model Transformation Modularization as a Many-Objective Optimization Problem , 2017, IEEE Transactions on Software Engineering.

[42]  Marjan Mernik,et al.  Exploration and exploitation in evolutionary algorithms: A survey , 2013, CSUR.

[43]  Christopher R. Houck,et al.  On the use of non-stationary penalty functions to solve nonlinear constrained optimization problems with GA's , 1994, Proceedings of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence.

[44]  A. Dias-Neto,et al.  0006/2011 - Threats to Validity in Search-based Software Engineering Empirical Studies , 2011 .

[45]  Mark Harman,et al.  Transformed Vargha-Delaney Effect Size , 2015, SSBSE.

[46]  Thomas Hofmann,et al.  Probabilistic Latent Semantic Indexing , 1999, SIGIR Forum.

[47]  Birgit Vogel-Heuser,et al.  Family model mining for function block diagrams in automation software , 2014, SPLC '14.

[48]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[49]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[50]  Houari A. Sahraoui,et al.  Searching the Boundaries of a Modeling Space to Test Metamodels , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[51]  Michael McGill,et al.  Introduction to Modern Information Retrieval , 1983 .

[52]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[53]  Richard F. Paige,et al.  Identifying Desirable Game Character Behaviours through the Application of Evolutionary Algorithms to Model-Driven Engineering Metamodels , 2011, SSBSE.

[54]  Jaime Font,et al.  Automating the variability formalization of a model family by means of common variability language , 2015, SPLC.

[55]  Thomas Bäck,et al.  A Comparative Study of a Penalty Function, a Repair Heuristic and Stochastic Operators with the Set-Covering Problem , 1995, Artificial Evolution.

[56]  Steffen Zschaler,et al.  Automatic Generation of Atomic Consistency Preserving Search Operators for Search-Based Model Engineering , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS).

[57]  Wasif Afzal,et al.  A systematic review of search-based testing for non-functional system properties , 2009, Inf. Softw. Technol..

[58]  Jaime Font,et al.  Leveraging variability modeling to address metamodel revisions in Model-based Software Product Lines , 2017, Comput. Lang. Syst. Struct..

[59]  Mark Harman,et al.  Automated web application testing using search based software engineering , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[60]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[61]  Peter W. Foltz,et al.  An introduction to latent semantic analysis , 1998 .

[62]  Jaime Font,et al.  An approach for bug localization in models using two levels: model and metamodel , 2019, Software and Systems Modeling.

[63]  Lionel C. Briand,et al.  A Search-Based OCL Constraint Solver for Model-Based Test Data Generation , 2011, 2011 11th International Conference on Quality Software.

[64]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[65]  Jaime Font,et al.  Achieving Feature Location in Families of Models Through the Use of Search-Based Software Engineering , 2018, IEEE Transactions on Evolutionary Computation.

[66]  Robert Bill,et al.  A local and global tour on MOMoT , 2017, Software & Systems Modeling.

[67]  Michael H. Goldwasser,et al.  Data Structures, Near Neighbor Searches, and Methodology: Fifth and Sixth DIMACS Implementation Challenges, Proceedings of a DIMACS Workshop, USA, 1999 , 2002, Data Structures, Near Neighbor Searches, and Methodology.

[68]  Oszkár Semeráth,et al.  A Graph Solver for the Automated Generation of Consistent Domain-Specific Models , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[69]  Hans Vangheluwe,et al.  Search-Based Model Optimization Using Model Transformations , 2014, SAM.

[70]  Birger Møller-Pedersen,et al.  Developing a Software Product Line for Train Control: A Case Study of CVL , 2010, SPLC.

[71]  Jacques Klein,et al.  Bottom-up adoption of software product lines: a generic and extensible approach , 2015, SPLC.

[72]  Marsha Chechik,et al.  A Survey of Feature Location Techniques , 2013, Domain Engineering, Product Lines, Languages, and Conceptual Models.

[73]  Jaime Font,et al.  Collaborative feature location in models through automatic query expansion , 2019, Automated Software Engineering.

[74]  Richard F. Paige,et al.  Model Migration with Epsilon Flock , 2010, ICMT@TOOLS.

[75]  Z. Michalewicz,et al.  Genocop III: a co-evolutionary algorithm for numerical optimization problems with nonlinear constraints , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[76]  James C. Bean,et al.  Genetic Algorithms and Random Keys for Sequencing and Optimization , 1994, INFORMS J. Comput..

[77]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .