Skip to main content

Advertisement

Log in

Promoting social diversity for the automated learning of complex MDE artifacts

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

Abstract

Software modeling activities typically involve a tedious and time-consuming effort by specially trained personnel. This lack of automation hampers the adoption of model-driven engineering (MDE). Nevertheless, in the recent years, much research work has been dedicated to learn executable MDE artifacts instead of writing them manually. In this context, mono- and multi-objective genetic programming (GP) has proven being an efficient and reliable method to derive automation knowledge by using, as training data, a set of examples representing the expected behavior of an artifact. Generally, conformance to the training example set is the main objective to lead the learning process. Yet, single fitness peak, or local optima deadlock, a common challenge in GP, hinders the application of GP to MDE. In this paper, we propose a strategy to promote populations’ social diversity during the GP learning process. We evaluate our approach with an empirical study featuring the case of learning well-formedness rules in MDE with a multi-objective genetic programming algorithm. Our evaluation shows that integration of social diversity leads to more efficient search, faster convergence, and more generalizable results. Moreover, when the social diversity is used as crowding distance, this convergence is uniform through a hundred of runs despite the probabilistic nature of GP. It also shows that genotypic diversity strategies cannot achieve comparable results.

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. In the remainder of this paper, semantic fitness refers to the level of conformance to training examples an individual satisfies.

  2. http://www.omg.org/spec/OCL/

  3. For an in-depth discussion on the challenging long run investigation on generating a set of diverse models, see Varro et al. [84]

  4. ATL Transformation Language https://www.eclipse.org/atl/.

  5. All experiment data is available at http://geodes.iro.umontreal.ca/publication_material/ssd_ext.

References

  1. Adra, S.F., Fleming, P.J.: Diversity management in evolutionary many-objective optimization. IEEE Trans. Evol. Comput. 15(2), 183–195 (2011)

    Article  Google Scholar 

  2. Affenzeller, M., Winkler S.M., Burlacu, B., Kronberger, G., Kommenda, M., Wagner, S.: Dynamic observation of genotypic and phenotypic diversity for different symbolic regression gp variants. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’17 Companion, pages 1553–1558. ACM (2017)

  3. Auerbach, J.E., Iacca G., Floreano D.: Gaining insight into quality diversity. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’16 Companion, pages 1061–1064. ACM (2016)

  4. Back, T.: Selective pressure in evolutionary algorithms: a characterization of selection mechanisms. In Proc. of the First IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence, pages 57–62 (1994)

  5. Baki, I., Sahraoui, H.: Multi-step learning and adaptive search for learning complex model transformations from examples. ACM Trans. on Soft. Eng. and Methodology, X: 36 (2015)

  6. Baki, I., Sahraoui, H., Cobbaert, Q., Masson, P., Faunes, M.: Learning implicit and explicit control in model transformations by example. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, 8767: 636–652 (2014)

  7. Balogh, Z., Varró, D.: Model transformation by example using inductive logic programming. Int. J. Soft. Syst. Model. 8(3), 347–364 (2009)

    Article  Google Scholar 

  8. Batot, E., Sahraoui, H.: A generic framework for model-set selection for the unification of testing and learning mde tasks. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems. ACM (2016)

  9. Batot, E., Sahraoui, H.: Injecting social diversity in multi-objective genetic programming: The case of model well-formedness rule learning. In International Symposium on Search Based Software Engineering, pages 166–181 (2018)

  10. Batot, E., Kessentini, W., Sahraoui, H.A., Famelis, M.: Heuristic-based recommendation for metamodel - OCL coevolution. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems. ACM (2017)

  11. Baudry, B., Monperrus, M.: The multiple facets of software diversity: recent developments in year 2000 and beyond. ACM Comput. Surv. 48(1), 1–26 (2015)

    Article  Google Scholar 

  12. Beadle, L., Johnson, C.G.: Semantic analysis of program initialisation in genetic programming. Genet. Program. Evol. Mach. 10(3), 307–337 (2009)

    Article  Google Scholar 

  13. Benbassat, A., Shafet, Y.: A simple bucketing based approach to diversity maintenance. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’17, pages 1559–1564. ACM (2017)

  14. Benjamini, Y., Hochberg, Y.: Controlling the false discovery rate: a Practical and powerful approach to multiple testing. J. Roy. Statist. Soc. 57, 289–300 (1995)

    MathSciNet  MATH  Google Scholar 

  15. Bersano-Begey, T.F.: Controlling exploration, diversity and escaping local optima in gp: Adapting weights of training sets to model resource consumption. In John R. Koza, editor, Late Breaking Papers at the 1997 Genetic Programming Conference, pages 7–10 (1997)

  16. Bosman, P.A.N., Thierens, D.: The balance between proximity and diversity in multiobjective evolutionary algorithms. IEEE Trans. Evol. Comput. 7(2), 174–188 (2003)

    Article  Google Scholar 

  17. Burke, E.K., Gustafson, S., Kendall, G.: Diversity in genetic programming: an analysis of measures and correlation with fitness. IEEE Trans. Evol. Comput. 8(1), 47–62 (2004)

    Article  Google Scholar 

  18. Burks, A.R., Punch, W.F.: An efficient structural diversity technique for genetic programming. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’15, pages 991–998. ACM (2015)

  19. Byron, J., Iba, W.: Population diversity as a selection factor: improving fitness by increasing diversity. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’16, pages 953–959 (2016)

  20. Cadavid, J., Baudry, B., Sahraoui, H.A.: Searching the boundaries of a modeling space to test metamodels. In Proc. of the Int. Conf. on Software Testing Verification and Validation, pages 131–140 (2012a)

  21. Cadavid, J.J., Combemale, B., Baudry, B.: Ten years of meta-object facility: an analysis of metamodeling practices. Research Report RR-7882, AtlanMod (2012b)

  22. Cadavid, J.J., Combemale, B., Baudry, B.: An analysis of metamodeling practices for MOF and OCL. Comput. Lang. Syst. Struct. 41, 42–65 (2015)

    Google Scholar 

  23. Castillo, J., Segura, C., Aguirre, A.H., Miranda, G., León, C.: A multi-objective decomposition-based evolutionary algorithm with enhanced variable space diversity control. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’17 Companion, pages 1565–1571. ACM (2017)

  24. Chen, G., Low, C.P., Yang, Z.: Preserving and exploiting genetic diversity in evolutionary programming algorithms. IEEE Trans. Evol. Comput. 13(3), 661–673 (2009)

    Article  Google Scholar 

  25. Clariso, R., Cabot, J.: Fixing defects in integrity constraints via constraint mutation. 74–82

  26. Dabhi, Vipul K., Chaudhary, Sanjay.; A survey on techniques of improving generalization ability of genetic programming solutions. CoRR, abs/1211.1119 (2012)

  27. Dang, D.C., Friedrich, T., Kötzing, T., Krejca, M.S., Lehre, P.K., Oliveto, P.S., Sudholt, D., Sutton, A.M.: Escaping local optima with diversity mechanisms and crossover. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’16, pages 645–652. ACM (2016)

  28. Dang, D.H., Cabot J.: On automating inference of OCL constraints from counterexamples and examples. In Proc of the Sixth Int. Conf. on Knowledge and Systems Engineering KSE, pages 219–231. Springer Berlin Heidelberg (2014)

  29. de Jong, E.D., Watson, R.A., Pollack, J.B.: Reducing bloat and promoting diversity using multi-objective methods. In Proc. of the 3rd Annual Conference on Genetic and Evolutionary Computation, GECCO’01, pages 11–18 (2001)

  30. Deb, K., Jain, H.: An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part i: Solving problems with box constraints. IEEE Trans. Evol. Comput. 18(4), 577–601 (2014)

    Article  Google Scholar 

  31. Deb, K., Saxena, D.K.: On finding pareto-optimal solutions through dimensionality reduction for certain large-dimensional multi-objective optimization problems

  32. Deb, K., Agrawal, S., Pratap, A., Meyarivan, T.: A fast elitist non-dominated sorting genetic algorithm for multi-objective optimisation: NSGA-II. In Int. Conf. on Parallel Problem Solving from Nature - PPSN (2000)

  33. Eiben, A.E., Schippers, C.A.: On evolutionary exploration and exploitation. Fundam. Inf. 35(1–4), 35–50 (1998)

    MATH  Google Scholar 

  34. Ekárt, A., Németh, SZ.: A metric for genetic programs and fitness sharing. In Riccardo Poli, Wolfgang Banzhaf, William B. Langdon, Julian Miller, Peter Nordin, and Terence C. Fogarty, editors, Genetic Programming, pages 259–270, Berlin, Heidelberg. Springer Berlin Heidelberg (2000)

  35. Eshelman, L.J., Schaffer, J.D.: Crossover’s niche. In Stephanie Forrest, editor, Proc of the 5th Int. Conf. on Genetic Algorithms, pages 9–14. Morgan Kaufmann (1993)

  36. Faunes, M., Cadavid, J., Baudry, B., Sahraoui, H., Combemale, B.: Automatically searching for metamodel well-formedness rules in examples and counter-examples. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, pages 187–202 (2013a)

  37. Faunes, M., Sahraoui, H., Boukadoum, M.; Genetic-programming approach to learn model transformation rules from examples. In Proc. of the Int. Conf. on Theory and Practice of Model Transformation, 7909, 17–32 (2013b)

  38. Ferdjoukh, A., Galinier, F., Bourreau, E., Chateau, A., Nebut, C.: Measuring differences to compare sets of models and improve diversity In MDE. In ICSEA: International Conference on Software Engineering Advances, Athenes, Greece, October (2017)

  39. Fortin, F.A., Parizeau, M.: Revisiting the nsga-ii crowding-distance computation. In Proc. of Int. Conf. on Genetic and Evolutionary Computation, GECCO. ACM (2013)

  40. Gabor, T., Belzner, L.: Genealogical distance as a diversity estimate in evolutionary algorithms. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’17 Companion, pages 1572–1577. ACM (2017)

  41. Galván-López, E., McDermott, J., O’Neill, M., Brabazon, A.: Towards an understanding of locality in genetic programming. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’10, pages 901–908. ACM (2010)

  42. Ganesan, K.: Rouge 2.0: Updated and improved measures for evaluation of summarization tasks (2015)

  43. García-Magariño, Iván., Gómez-Sanz, Jorge J., Fuentes-Fernández, Rubén.: Model transformation by-example: An algorithm for generating many-to-many transformation rules in several model transformation languages. In Richard F. Paige, editor, Theory and Practice of Model Transformations, pages 52–66. Springer Berlin Heidelberg (2009)

  44. Gogolla, M., Vallecillo, A., Burgueno, L., Hilken, F.: Employing classifying terms for testing model transformations. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, pages 312–321 (2015)

  45. Harman, M., Jia, Y., Zhang, Y.: Achievements, open problems and challenges for search based software testing. In Proc. of the Int. Conf. on Software Testing Verification and Validation, 1–12 (2015)

  46. Hassam, K., Sadou, S., Fleurquin, R.: Adapting ocl constraints after a refactoring of their model using an mde process. In 9th ed. of the BElgian-NEtherlands software eVOLution seminar, pages 16–27 (2010)

  47. He, Z., Yen, G. G.: Many-objective evolutionary algorithm: Objective space reduction and diversity improvement. IEEE Transactions on Evolutionary Computation, 20 (1): 145–160. Comparaison with NSGA-III (Niching for many objective (2016)

  48. Hindle, A., Barr, E.T., Su, Z., Gabel, M., Devanbu, P.: On the naturalness of software. In Proc. of the Int. Conf. on Software Engineering, ICSE ’12, 837–847 (2012)

  49. Holland, J.H.: Adaptation in natural and artificial systems: an introductory analysis with applications to biology control and artificial intelligence. MIT Press, USA (1992)

    Book  Google Scholar 

  50. Jackson, D.: Phenotypic diversity in initial genetic programming populations. In Anna Isabel Esparcia-Alcázar, Anikó Ekárt, Sara Silva, Stephen Dignum, and A. Şima Uyar, editors, Genetic Programming, pages 98–109. Springer Berlin Heidelberg (2010)

  51. Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design defects detection and correction by example. In Proc. of the Int. Conf. on Program Comprehension, 81–90 (2011)

  52. Kessentini, M., Sahraoui, H.A., Boukadoum, M.: Model transformation as an optimization problem. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, pages 159–173. Springer (2008)

  53. Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Int. J. Soft Syst. Model. 11(2), 209–226 (2010)

    Article  Google Scholar 

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

    Article  Google Scholar 

  55. Koza, J.R.: Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge, MA, USA (1992)

    MATH  Google Scholar 

  56. Lin C.Y.: Rouge: A package for automatic evaluation of summaries. In Proc. ACL workshop on Text Summarization Branches Out, page 10 (2004)

  57. Liu, H., Chen, L., Deb, K., Goodman, E.D.: Investigating the effect of imbalance between convergence and diversity in evolutionary multiobjective algorithms. IEEE Trans. Evol. Comput. 21(3), 408–425 (2017)

    Google Scholar 

  58. López-Fernández, J.J., Guerra, E., de Lara, J.: Example-based validation of domain-specific visual languages. In Proc. of the Int. Conf. on Software Language Engineering, SLE 2015, pages 101–112 (2015)

  59. Luke, S., Panait, L.: A comparison of bloat control methods for genetic programming. Evol. Comput. 14(3), 309–344 (2006)

    Article  Google Scholar 

  60. Manner, R., Mahfoud, Samir., Mahfoud, Samir W.: Crowding and preselection revisited. In Parallel Problem Solving From Nature, pages 27–36. North-Holland (1992)

  61. McPhee, N.F., Hopper, N.J.: Analysis of genetic diversity through population history. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO’99, pages 1112–1120. Morgan Kaufmann Publishers Inc. (1999)

  62. McPhee, N.F., Ohs, B., Hutchison, T.: Semantic building blocks in genetic programming In Genetic Programming, pp. 134–145. Springer, Berlin (2008)

    Google Scholar 

  63. Mokaddem, C.E., Sahraoui, H., Syriani, E.: Recommending model refactoring rules from refactoring examples. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, MODELS ’18, pages 257–266 (2018)

  64. Mueller-Bady, R., Kappes, M., Medina-Bulo, I., Palomo-Lozano, F.: Maintaining genetic diversity in multimodal evolutionary algorithms using population injection. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’16 Companion, pages 95–96. ACM (2016)

  65. Neumann, A., Gao, W., Doerr, C., Neumann, F., Wagner, M.: Discrepancy-based evolutionary diversity optimization. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’18, pages 991–998. ACM (2018)

  66. Porter, M.F.: Readings in information retrieval. chapter An Algorithm for Suffix Stripping, pages 313–316 (1997)

  67. Ryan, C.: Racial harmony in genetic algorithms. (1994)

  68. Saada, H., Dolques, X., Huchard, M., Nebut, C.E., Sahraoui, H.A.: Generation of operational transformation rules from examples of model transformations. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, 546–561 (2012)

  69. Saggion, H., Teufel, S., Radev, D., Lam, W.: Meta-evaluation of summaries in a cross-lingual environment using content-based metrics. In Proc. of the 19th Int. Conf. on Computational Linguistics - Volume 1, COLING ’02, pages 1–7. Ass. for Computational Linguistics (2002)

  70. Sanchez-Cuadrado, Js., de Lara, J., Guerra, E.: Bottom-up meta-modelling: an interactive approach. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, volume 7590, pages 3–19 (2012)

  71. Schmidt, D.C.: Model-driven engineering. IEEE Computer Society, 39 (2) (2006)

  72. Seada, H.A., Abouhawwash, M., Deb, K.: Towards a better diversity of evolutionary multi-criterion optimization algorithms using local searches. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’16 Companion, pages 77–78. ACM (2016)

  73. Segura, C., Hernández-Aguirre, A., Luna, F., Alba, E.: Improving diversity in evolutionary algorithms: new best solutions for frequency assignment. IEEE Trans. Evol. Comput. 21(4), 539–553 (2017)

    Article  Google Scholar 

  74. Selic, B.: What will it take? A view on adoption of model-based methods in practice. Int J Soft Syst. Model. 11(4), 513–526 (2012)

    Article  Google Scholar 

  75. Soule, T., Foster, J.A.: Effects of code growth and parsimony pressure on populations in genetic programming. Evol. Comput. 6(4), 293–309 (1998)

    Article  Google Scholar 

  76. Sparck Jones, K.: Document retrieval systems. chapter A Statistical Interpretation of Term Specificity and Its Application in Retrieval, pages 132–142 (1988)

  77. Spears, W.M.: Simple subpopulation schemes. In In, pages 296–307. World Scientific (1994)

  78. Strommer, M., Wimmer, M.: A framework for model transformation by-example: concepts and tool support. In: Paige, R.F., Meyer, B. (eds.) Objects. Components, Models and Patterns, pp. 372–391. Springer, Berlin Heidelberg (2008)

    Google Scholar 

  79. Strommer, M., Murzek, M., Wimmer, M.: Applying model transformation by-example on business process modeling languages. In Jean-Luc Hainaut, Elke A. Rundensteiner, Markus Kirchberg, Michela Bertolotto, Mathias Brochhausen, Yi-Ping Phoebe Chen, Samira Si-Saïd Cherfi, Martin Doerr, Hyoil Han, Sven Hartmann, Jeffrey Parsons, Geert Poels, Colette Rolland, Juan Trujillo, Eric Yu, and Esteban Zimányie, editors, Advances in Conceptual Modeling – Foundations and Applications, pages 116–125. Springer Berlin Heidelberg (2007)

  80. Szubert, M., Kodali, A., Ganguly, S., Das, K., Bongard, J.C.: Reducing antagonism between behavioral diversity and fitness in semantic genetic programming. In Proc. of the Proc. of the Genetic and Evolutionary Computation Conf., GECCO ’16, pages 797–804. ACM (2016)

  81. Tian, Y., Cheng, R., Zhang, X., Su, Y., Jin, Y.: A strengthened dominance relation considering convergence and diversity for evolutionary many-objective optimization. IEEE Trans. Evol. Comput. 23(2), 331–345 (2019)

    Article  Google Scholar 

  82. Vanneschi, L., Castelli, M., Silva, S.: A survey of semantic methods in genetic programming. Genet. Program. Evol. Mach. 15(2), 195–214 (2014)

  83. Varró, D.: Model transformation by example. In Proc. of the Int. Conf. on Model-Driven Engineering Languages and Systems, pages 410–424 (2006)

  84. Varró, Dániel., Semeráth, Oszkár., Szárnyas, Gábor., Horváth, Ákos.: Towards the Automated Generation of Consistent, Diverse, Scalable and Realistic Graph Models, pages 285–312. Springer International Publishing, Cham (2018)

  85. Črepinšek, Matej., Liu, Shih-Hsi., Mernik, Marjan.: Exploration and exploitation in evolutionary algorithms: A survey. ACM Comput. Surv., 45 (3): 35:1–35:33, July (2013)

  86. Whittle, J., Hutchinson, J., Rouncefield, M.: The state of practice in model-driven engineering. Softw., IEEE 31, 79–85 (2014)

    Article  Google Scholar 

  87. Wimmer, M., Strommer, M.: Horst Kargl, and Gerhard Kramler. Towards model transformation generation by-example. In 40th Hawaii Int. Conf. on Systems Science, page 285 (2007)

  88. Wu, H.: Generating metamodel instances satisfying coverage criteria via smt solving. In Proc. of the Int. Conf. on Model-Driven Eng. and Soft. Development, pages 40–51 (2016)

  89. Wyns, B., De Bruyne, P., Boullart, L.: Characterizing diversity in genetic programming. In Proceedings of the 9th European Conference on Genetic Programming, EuroGP’06, pages 250–259, Berlin, Heidelberg. Springer-Verlag (2006)

  90. Yuan, Y., Xu, H., Wang, B., Zhang, B., Yao, X.: Balancing convergence and diversity in decomposition-based many-objective optimizers. IEEE Trans. Evol. Comput. 20(2), 180–198 (2016)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Houari Sahraoui.

Additional information

Communicated by L. Burgueño, J. Cabot, M. Wimmer & S. Zschaler.

Publisher's Note

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

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Batot, E.R., Sahraoui, H. Promoting social diversity for the automated learning of complex MDE artifacts. Softw Syst Model 21, 1159–1178 (2022). https://doi.org/10.1007/s10270-021-00969-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00969-9

Keywords

Navigation