Skip to main content
Log in

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

  • Regular Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. We use a simplification as running example in order to increase legibility and due to intellectual property rights.

  2. In this figure, the containment references and the root node are omitted for simplicity.

References

  1. Apache opennlp: toolkit for the processing of natural language text. https://opennlp.apache.org/ (2016). Accessed 22 Feb 2021

  2. Abdeen, H., Varró, D., Sahraoui, H., Nagy, A.S., Debreceni, C., Hegedüs, Á., Horváth, Á.: Multi-objective optimization in rule-based design space exploration. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, pp. 289–300. ACM (2014)

  3. Afzal, W., Torkar, R., Feldt, R.: A systematic review of search-based testing for non-functional system properties. Inf. Soft. Technol. 51(6), 957–976 (2009)

    Article  Google Scholar 

  4. Ali, S., Iqbal, M.Z., Arcuri, A., Briand, L.: A search-based ocl constraint solver for model-based test data generation. In: 2011 11th International Conference on Quality Software, pp. 41–50. IEEE (2011)

  5. Ali, S., Iqbal, M.Z., 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 

  6. Alshahwan, N., Harman, M.: Automated web application testing using search based software engineering. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 3–12 (2011)

  7. Arcega, L., Font, J., Haugen, Ø., Cetina, C.: An approach for bug localization in models using two levels: model and metamodel. Softw. Syst. Model. 18(6), 3551–3576 (2019)

    Article  Google Scholar 

  8. Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Test. Verific. Reliab. 24(3), 219–250 (2014)

    Article  Google Scholar 

  9. Arcuri, A., Fraser, G.: Parameter tuning or default values? an empirical investigation in search-based software engineering. Empir. Softw. Eng. 18(3), 594–623 (2013)

    Article  Google Scholar 

  10. Bäck, T., Schütz, M., Khuri, S.: A comparative study of a penalty function, a repair heuristic, and stochastic operators with the set-covering problem. In: European Conference on Artificial Evolution, pp. 320–332. Springer (1995)

  11. Ballarín, M., Marcén, A.C., Pelechano, V., Cetina, C.: Measures to report the location problem of model fragment location. In: 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. MODELS’18, pp. 189–199. ACM, New York (2018)

  12. Bean, J.C.: Genetic algorithms and random keys for sequencing and optimization. ORSA J. Comput. 6(2), 154–160 (1994)

    Article  Google Scholar 

  13. Bill, R., Fleck, M., Troya, J., Mayerhofer, T., Wimmer, M.: A local and global tour on momot. Softw. Syst. Model. 18(2), 1017–1046 (2019)

    Article  Google Scholar 

  14. Boussaïd, I., Siarry, P., Ahmed-Nacer, M.: A survey on search-based model-driven engineering. Autom. Softw. Eng. 24(2), 233–294 (2017)

    Article  Google Scholar 

  15. Burdusel, A., Zschaler, S., John, S.: Automatic generation of atomic consistency preserving search operators for search-based model engineering. In: ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 106–116 (2019)

  16. Cetina, C., Font, J., Arcega, L., Pérez, F.: Improving feature location in long-living model-based product families designed with sustainability goals. J. Syst. Softw. 134, 261–278 (2017)

    Article  Google Scholar 

  17. Chicco, D., Jurman, G.: The advantages of the matthews correlation coefficient over f1 score and accuracy in binary classification evaluation. BMC Genom. 21(1), 6 (2020)

    Article  Google Scholar 

  18. Chootinan, P., Chen, A.: Constraint handling in genetic algorithms using a gradient-based repair method. Comput. Oper. Res. 33(8), 2263–2281 (2006)

    Article  Google Scholar 

  19. Coello, C.A.C.: Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art. Comput. Methods Appl. Mech. Eng. 191(11), 1245–1287 (2002)

    Article  MathSciNet  Google Scholar 

  20. Colanzi, T.E., Vergilio, S.R.: Representation of software product line architectures for search-based design. In: 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 28–33 (2013)D

  21. Črepinšek, M., Liu, S.H., Mernik, M.: Exploration and exploitation in evolutionary algorithms: a survey. ACM Comput. Surv. (CSUR) 45(3), 1–33 (2013)

    Article  Google Scholar 

  22. Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, vol. 45, pp. 1–17. USA (2003)

  23. de Oliveira Barros, M., Dias-Neto, A.C.: 0006/2011-threats to validity in search-based software engineering empirical studies. RelaTe-DIA, vol. 5 (2011) http://seer.unirio.br/index.php/monografiasppgi/article/view/1479

  24. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)

    Article  Google Scholar 

  25. Denil, J., Jukss, M., Verbrugge, C., Vangheluwe, H.: Search-based model optimization using model transformations. In: D. Amyot, P. Fonseca i Casas, G. Mussbacher (eds.) System Analysis and Modeling: Models and Reusability, pp. 80–95. Springer, Cham (2014)

  26. Dit, B., Revelle, M., Gethers, M., Poshyvanyk, D.: Feature location in source code: a taxonomy and survey. J. Softw. Evol. Process 25(1), 53–95 (2013)

    Article  Google Scholar 

  27. Dyer, D.: The watchmaker framework for evolutionary computation. http://watchmaker.uncommons.org/ (2016). Accessed 22 Feb 2021

  28. Efficient java matrix library. http://ejml.org/. Accessed 22 Feb 2021

  29. Faunes, M., Cadavid, J., Baudry, B., Sahraoui, H., Combemale, B.: Automatically searching for metamodel well-formedness rules in examples and counter-examples. In: International Conference on Model Driven Engineering Languages and Systems, pp. 187–202. Springer (2013)

  30. Faunes, M., Cadavid, J., Baudry, B., Sahraoui, H., Combemale, B.: Automatically searching for metamodel well-formedness rules in examples and counter-examples. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) Model-Driven Engineering Languages and Systems, pp. 187–202. Springer, Berlin (2013)

    Chapter  Google Scholar 

  31. Fleck, M., Troya, J., Kessentini, M., Wimmer, M., Alkhazi, B.: Model transformation modularization as a many-objective optimization problem. IEEE Trans. Softw. Eng. 43(11), 1009–1032 (2017)

    Article  Google Scholar 

  32. Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations with momot. In: Van Gorp, P., Engels, G. (eds.) Theory and Practice of Model Transformations, pp. 79–87. Springer, Cham (2016)

    Chapter  Google Scholar 

  33. Font, J.: Location of features as model fragments and their co-evolution. Ph.D. thesis, University of Oslo, Norway (2017)

  34. Font, J.: Source Code for Feature Location in Models through an Evolutionary Algorithm—Handling NonConforming Individuals (2020). https://bitbucket.org/svitusj/flimea-hci. Accessed 22 Feb 2021

  35. Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Building software product lines from conceptualized model patterns. In: 19th International Conference on Software Product Line, SPLC’15, pp. 46–55 (2015)

  36. Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Feature location in model-based software product lines through a genetic algorithm. In: 15th International Conference on Software Reuse: Bridging with Social-Awareness, Vol. 9679, ICSR 2016, pp. 39–54 (2016)

  37. Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Feature location in models through a genetic algorithm driven by information retrieval techniques. In: ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems, MODELS’16, pp. 272–282 (2016)

  38. Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Achieving feature location in families of models through the use of search-based software engineering. IEEE Trans. Evol. Comput. PP(99), 1–1 (2017)

    Google Scholar 

  39. Font, J., Arcega, L., Haugen, Ø., Cetina, C.: Leveraging variability modeling to address metamodel revisions in model-based software product lines. Comput. Lang. Syst. Struct. 48, 20–38 (2017)

    Google Scholar 

  40. Font, J., Ballarín, M., Haugen, Ø., Cetina, C.: Automating the variability formalization of a model family by means of common variability language. In: 19th International Conference on Software Product Line, SPLC’15, pp. 411–418 (2015)

  41. García, S., Fernández, A., Luengo, J., Herrera, F.: Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: experimental analysis of power. Inform. Sci. 180(10), 2044–2064 (2010)

    Article  Google Scholar 

  42. Goldberg, D.E., Lingle, R., et al.: Alleles, loci, and the traveling salesman problem. In: International Conference on Genetic Algorithms and Their Applications, vol. 154, pp. 154–159. Carnegie-Mellon University Pittsburgh, PA (1985)

  43. Gomez, J.J.C., Baudry, B., Sahraoui, H.: Searching the boundaries of a modeling space to test metamodels. In: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, pp. 131–140 (2012)

  44. Grissom, R.J., Kim, J.J.: Effect Sizes for Research: A Broad Practical Approach. Erlbaum, Mahwah (2005)

    Google Scholar 

  45. 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. In: 18th International Software Product Line Conference, Vol. 1, SPLC’14, pp. 5–18 (2014)

  46. Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)

    Article  Google Scholar 

  47. Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11:1–11:61 (2012)

    Article  Google Scholar 

  48. Hofmann, T.: Probabilistic latent semantic indexing. In: 22nd Annual International ACM/SIGIR Conference on Research and Development in Information Retrieval (1999)

  49. Holthusen, S., Wille, D., Legat, C., Beddig, S., Schaefer, I., Vogel-Heuser, B.: Family model mining for function block diagrams in automation software. In: 18th International Software Product Line Conference, Vol. 2, pp. 36–43 (2014)

  50. Johnson, D.S.: A theoretician’s guide to the experimental analysis of algorithms. In: Data Structures, Near Neighbor Searches, and Methodology: Fifth and Sixth DIMACS Implementation Challenges, vol. 59, pp. 215–250 (2002)

  51. Joines, J.A., Houck, C.R.: On the use of non-stationary penalty functions to solve nonlinear constrained optimization problems with ga’s. In: Evolutionary Computation. First IEEE World Congress on Computational Intelligence., pp. 579–584. IEEE (1994)

  52. Kent, S.: Model driven engineering. In: Integrated Formal Methods, pp. 286–298. Springer Berlin (2002)

  53. Kessentini, M., Langer, P., Wimmer, M.: Searching models, modeling search: on the synergies of sbse and mde. In: 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE), pp. 51–54 (2013)

  54. Landauer, T.K., Foltz, P.W., Laham, D.: An introduction to latent semantic analysis. Discourse Process. 25(2–3), 259–284 (1998)

    Article  Google Scholar 

  55. Lopez-Herrejon, R.E., Linsbauer, L., Galindo, J.A., Parejo, J.A., Benavides, D., Segura, S., Egyed, A.: An assessment of search-based techniques for reverse engineering feature models. J. Syst. Softw. 103, 353–369 (2015)

    Article  Google Scholar 

  56. Mandow, L., Montenegro, J.A., Zschaler, S.: Mejora de una representación genética genérica para modelos. In: Actas de la XVII Conferencia de la Asociación Española para la Inteligencia Artificial (CAEPIA) (in press) (2016)

  57. Marcus, A., Sergeyev, A., Rajlich, V., Maletic, J.: An information retrieval approach to concept location in source code. In: 11th Working Conference on Reverse Engineering, pp. 214–223 (2004)

  58. Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Bottom-up adoption of software product lines: a generic and extensible approach. In: 19th International Conference on Software Product Line (SPLC), pp. 101–110 (2015)

  59. Michalewicz, Z.: Do not kill unfeasible individuals. In: Fourth Intelligent Information Systems Workshop, pp. 110–123 (1995)

  60. Michalewicz, Z.: A survey of constraint handling techniques in evolutionary computation methods. In: 4th Annual Conference on Evolutionary Programming, pp. 135–155. MIT Press (1995)

  61. Michalewicz, Z., Nazhiyath, G.: Genocop iii: a co-evolutionary algorithm for numerical optimization problems with nonlinear constraints. In: Evolutionary Computation, 1995., IEEE International Conference on, vol. 2, pp. 647–651. IEEE (1995)

  62. Moore, B.: Eclipse Development: Using the Graphical Editing Framework and the Eclipse Modeling Framework. https://dl.acm.org/doi/book/10.5555/14076091. (2004)

  63. Neumann, G., Harman, M., Poulding, S.: Transformed Vargha-Delaney Effect Size, pp. 318–324 (2015). Accessed 22 Feb 2021

  64. (OMG), O.M.G.: Meta Object Facility (MOF) Version 2.4.1 (2013). http://www.omg.org/spec/MOF/2.4.1/. Accessed 22 Feb 2021

  65. Orvosh, D., Davis, L.: Shall we repair? genetic algorithms combinatorial optimization and feasibility constraints. In: 5th International Conference on Genetic Algorithms, p. 650 (1993)

  66. Orvosh, D., Davis, L.: Using a genetic algorithm to optimize problems with feasibility constraints. In: Evolutionary Computation, 1994. First IEEE World Congress on Computational Intelligence, pp. 548–553 (1994)

  67. Paige, R.F., Brooke, P.J., Ostroff, J.S.: Metamodel-based model conformance and multiview consistency checking. ACM Trans. Softw. Eng. Methodol. (TOSEM) 16(3), 11 (2007)

    Article  Google Scholar 

  68. Pérez, F., Font, J., Arcega, L., Cetina, C.: Automatic query reformulations for feature location in a model-based family of software products. Data Knowl. Eng. 116, 159–176 (2018)

    Article  Google Scholar 

  69. Pérez, F., Font, J., Arcega, L., Cetina, C.: Collaborative feature location in models through automatic query expansion. Autom. Softw. Eng. 26(1), 161–202 (2019)

    Article  Google Scholar 

  70. Pérez, F., Lapeña, R., Font, J., Cetina, C.: Fragment retrieval on models for model maintenance: applying a multi-objective perspective to an industrial case study. Inf. Softw. Technol. 103, 188–201 (2018)

    Article  Google Scholar 

  71. Pérez, F., Ziadi, T., Cetina, C.: Utilizing automatic query reformulations as genetic operations to improve feature location in software models. IEEE Trans. Softw. Eng. 2020, 1–1 (2020)

    Article  Google Scholar 

  72. Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model migration with epsilon flock. In: Tratt, L., Gogolla, M. (eds.) Theory and Practice of Model Transformations, pp. 184–198. Springer, Berlin (2010)

    Chapter  Google Scholar 

  73. Rothlauf, F.: Representations for genetic and evolutionary algorithms. In: Representations for Genetic and Evolutionary Algorithms, pp. 9–32. Springer (2006)

  74. Rubin, J., Chechik, M.: A survey of feature location techniques. In: Domain Engineering, pp. 29–58. Springer, Berlin (2013)

  75. Runarsson, T.P., Yao, X.: Stochastic ranking for constrained evolutionary optimization. IEEE Trans. Evol. Comput. 4(3), 284–294 (2000)

    Article  Google Scholar 

  76. Salton, G., McGill, M.J.: Introduction to Modern Information Retrieval. McGraw-Hill Inc, NY (1986)

    MATH  Google Scholar 

  77. Segura, S., Parejo, J.A., Hierons, R.M., Benavides, D., Ruiz-Cortés, A.: Automated generation of computationally hard feature models using evolutionary algorithms. Expert Syst. Appl. 41(8), 3975–3992 (2014)

    Article  Google Scholar 

  78. Semeráth, O., Barta, A., Horváth, A., Szatmári, Z., Varró, D.: Formal validation of domain-specific languages with derived features and well-formedness constraints. Softw. Syst. Model. 16(2), 357–392 (2017)

    Article  Google Scholar 

  79. Semeráth, O., Nagy, A.S., Varró, D.: A graph solver for the automated generation of consistent domain-specific models. In: 40th International Conference on Software Engineering, ICSE’18, p. 969–980 (2018)

  80. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2008)

    Google Scholar 

  81. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Boston (2009)

    Google Scholar 

  82. Svendsen, A., Zhang, X., Lind-Tviberg, R., Fleurey, F., Haugen, Ø., Møller-Pedersen, B., Olsen, G.K.: Developing a software product line for train control: a case study of cvl. In: 14th international conference on Software product lines (SPLC) (2010)

  83. The english (porter2) stemming algorithm. http://snowball.tartarus.org/algorithms/english/stemmer.html (2016). Accessed 22 Feb 2021

  84. Vargha, A., Delaney, H.D.: A critique and improvement of the cl common language effect size statistics of mcgraw and wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)

    Google Scholar 

  85. Wille, D., Holthusen, S., Schulze, S., Schaefer, I.: Interface variability in family model mining. In: 17th International Software Product Line Conference: Co-located Workshops, pp. 44–51 (2013)

  86. Williams, J.R.: A novel representation for search-based model-driven engineering. Ph.D. thesis, University of York (2013)

  87. Williams, J.R., Paige, R.F., Kolovos, D.S., Polack, F.A.: Search-Based Model Driven Engineering. Technical report, Citeseer (2012)

  88. Williams, J.R., Poulding, S., Rose, L.M., Paige, R.F., Polack, F.A.: Identifying desirable game character behaviours through the application of evolutionary algorithms to model-driven engineering metamodels. In: International Symposium on Search Based Software Engineering, pp. 112–126 (2011)

  89. Yeniay, Ö.: Penalty function methods for constrained optimization with genetic algorithms. Math. Comput. Appl. 10(1), 45–56 (2005)

    MathSciNet  Google Scholar 

  90. Zhang, X., Haugen, Ø., Moller-Pedersen, B.: Model comparison to synthesize a model-driven software product line. In: 2011 15th International Software Product Line Conference (SPLC), pp. 90–99 (2011)

  91. Zhang, X., Haugen, Ø., Møller-Pedersen, B.: Augmenting product lines. In: 19th Asia-Pacific Software Engineering Conference (APSEC), vol. 1, pp. 766–771 (2012)

Download references

Acknowledgements

This work has been partially supported by the Ministry of Economy and Competitiveness (MINECO) through the Spanish National R+D+i Plan and ERDF funds under the Project ALPS (RTI2018-096411-B-I00). We thank William B. Langdon and Justyna Petke because their feedback while Carlos stayed at University College London inspired this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jaime Font.

Additional information

Communicated by Manuel Wimmer, Gray, Jeff.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Statistical analysis results

Statistical analysis results

See Tables 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 and 19

Table 7 The Quade test statistic and p value for the BSH and CAF case studies
Table 8 Results of the statistical analysis for the number of generations from BSH case study
Table 9 Results of the statistical analysis for the number of generations from CAF case study
Table 10 Results of the statistical analysis for wall-clock time metric from BSH case study
Table 11 Results of the statistical analysis for wall-clock time metric from CAF case study
Table 12 Results of the statistical analysis for the precision metric from BSH case study
Table 13 Results of the statistical analysis for the precision metric from CAF case study
Table 14 Results of the statistical analysis for the recall metric from BSH case study
Table 15 Results of the statistical analysis for the recall metric from CAF case study
Table 16 Results of the statistical analysis for F-measure metric from BSH case study
Table 17 Results of the statistical analysis for the F-measure metric from CAF case study
Table 18 Results of the statistical analysis for the MCC metric from BSH case study
Table 19 Results of the statistical analysis for the MCC metric from CAF case study

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Font, J., Arcega, L., Haugen, Ø. et al. Handling nonconforming individuals in search-based model-driven engineering: nine generic strategies for feature location in the modeling space of the meta-object facility. Softw Syst Model 20, 1653–1688 (2021). https://doi.org/10.1007/s10270-021-00870-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00870-5

Keywords

Navigation