Abstract
Software systems continuously evolve due to new functionalities, requirements, or maintenance activities. In the context of software evolution, software refactoring has gained a strategic relevance. The space of possible software refactoring is usually very large, as it is given by the combinations of different refactoring actions that can produce software system alternatives. Multi-objective algorithms have shown the ability to discover alternatives by pursuing different objectives simultaneously. Performance of such algorithms in the context of software model refactoring is of paramount importance. Therefore, in this paper, we conduct a performance analysis of three genetic algorithms to compare them in terms of performance and quality of solutions. Our results show that there are significant differences in performance among the algorithms (e.g., \(\texttt{PESA2}\) seems to be the fastest one, while \(\texttt{NSGAII}\) shows the least memory usage).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Aleti, A., Björnander, S., Grunske, L., Meedeniya, I.: ArcheOpterix: an extendable tool for architecture optimization of AADL models. In: ICSE 2009 Workshop on Model-Based Methodologies for Pervasive and Embedded Software. MOMPES 2009, May 16, 2009, Vancouver, Canada, pp. 61–71. IEEE Computer Society, Washington, DC, USA (2009)
Aleti, A., Buhnova, B., Grunske, L., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Software Eng. 39(5), 658–683 (2013)
Arcuri, A., Briand, L.C.: A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Taylor, R.N., Gall, H.C., Medvidovic, N. (eds.) Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, May 21–28, 2011, pp. 1–10, ACM (2011). https://doi.org/10.1145/1985793.1985795
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). https://doi.org/10.1007/s10664-013-9249-9
Becker, S., Koziolek, H., Reussner, R.H.: The Palladio component model for model-driven performance prediction. J. Syst. Softw.82(1), 3–22 (2009)
Blum, C., Roli, A.: Metaheuristics in combinatorial optimization: overview and conceptual comparison. ACM Comput. Surv. 35(3), 268–308 (2003). https://doi.org/10.1145/937503.937505
Corne, D.W., Jerram, N.R., Knowles, J.D., Oates, M.J.: Pesa-ii: Region-based selection in evolutionary multiobjective optimization. In: GECCO, pp. 283–290 (2001), ISBN 1558607749, https://doi.org/10.5555/2955239.2955289
Cortellessa, V., Di Pompeo, D.: Analyzing the sensitivity of multi-objective software architecture refactoring to configuration characteristics. Inf. Softw. Technol. 135, 106568 (2021). https://doi.org/10.1016/j.infsof.2021.106568
Cortellessa, V., Di Pompeo, D., Eramo, R., Tucci, M.: A model-driven approach for continuous performance engineering in microservice-based systems. J. Syst. Softw. 183, 111084 (2022). https://doi.org/10.1016/j.jss.2021.111084
Cortellessa, V., Di Pompeo, D., Stoico, V., Tucci, M.: On the impact of performance antipatterns in multi-objective software model refactoring optimization. In: 47th SEAA 2021, Palermo, Italy, September 1–3, 2021, pp. 224–233, IEEE (2021). https://doi.org/10.1109/SEAA53835.2021.00036
Cortellessa, V., Di Pompeo, D., Stoico, V., Tucci, M.: Many-objective optimization of non-functional attributes based on refactoring of software models. Inf. Softw. Technol. 157, 107159 (2023). https://doi.org/10.1016/j.infsof.2023.107159
Cortellessa, V., Eramo, R., Tucci, M.: Availability-driven architectural change propagation through bidirectional model transformations between UML and petri net models. In: IEEE International Conference on Software Architecture, ICSA 2018, Seattle, WA, USA, April 30 - May 4, 2018, pp. 125–134, IEEE Computer Society (2018). https://doi.org/10.1109/ICSA.2018.00022
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)
Di Pompeo, D., Tucci, M.: Search budget in multi-objective refactoring optimization: a model-based empirical study. In: 48th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2022, pp. 406–413, IEEE (2022). https://doi.org/10.1109/SEAA56994.2022.00070,to appear
Di Pompeo, D., Tucci, M., Celi, A., Eramo, R.: A microservice reference case study for design-runtime interaction in MDE. In: STAF 2019 Co-Located Events Joint Proceedings: 1st Junior Researcher Community Event, 2nd International Workshop on Model-Driven Engineering for Design-Runtime Interaction in Complex Systems, and 1st Research Project Showcase Workshop co-located with Software Technologies: Applications and Foundations (STAF 2019), Eindhoven, The Netherlands, July 15–19, 2019, CEUR Workshop Proceedings, vol. 2405, pp. 23–32, CEUR-WS.org (2019)
Durillo, J.J., Nebro, A.J.: jmetal: A Java framework for multi-objective optimization. Adv. Eng. Softw. 42(10), 760–771 (2011)
Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL - An Introduction to the SAE Architecture Analysis and Design Language. SEI series in software engineering, Addison-Wesley (2012)
Gadhvi, B., Savsani, V., Patel, V.: Multi-objective optimization of vehicle passive suspension system using NSGA-II, SPEA2 and PESA-II. Procedia Technol. 23, 361–368 (2016)
Herold, S., et al.: Cocome - the common component modeling example. In: The Common Component Modeling Example: Comparing Software Component Models, LNCS, vol. 5153, pp. 16–53 (2008) https://doi.org/10.1007/978-3-540-85289-6_3
Hiroyasu, T., Nakayama, S., Miki, M.: Comparison study of spea2+, spea2, and NSGA-II in diesel engine emissions and fuel economy problem. In: CEC, pp. 236–242 (2005). https://doi.org/10.1109/CEC.2005.1554690
Kessentini, M., Sahraoui, H.A., Boukadoum, M., Benomar, O.: Search-based model transformation by example. J. Softw. Syst. Model. 11(2), 209–226 (2012). https://doi.org/10.1007/s10270-010-0175-7
King, R.A., Deb, K., Rughooputh, H.: Comparison of NSGA-II and SPEA2 on the multiobjective environmental/economic dispatch problem. Univ. Mauritius Res. J. 16(1), 485–511 (2010)
Koziolek, A., Koziolek, H., Reussner, R.H.: PerOpteryx: automated application of tactics in multi-objective software architecture optimization. In: 7th International Conference on the Quality of Software Architectures, pp. 33–42, ACM, New York, New York, USA (2011)
López, E.M., Coello, C.A.C.: An improved version of a reference-based multi-objective evolutionary algorithm based on igd\({}^{\text{+}}\). In: Aguirre, H.E., Takadama, K. (eds.) GECCO, pp. 713–720 (2018). https://doi.org/10.1145/3205455.3205530
Mariani, T., Vergilio, S.R.: A systematic review on search-based refactoring. J. Inform. Softw. Technol. 83, 14–34 (2017)
Martens, A., Koziolek, H., Becker, S., Reussner, R.H.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: ICPE 2010 - Proceedings of the 1st ACM/SPEC International Conference on Performance Engineering, pp. 105–116 (2010). https://doi.org/10.1145/1712605.1712624
Menascé, D.A., Ewing, J.M., Gomaa, H., Malek, S., Sousa, J.P.: A framework for utility-based service oriented design in SASSY. In: Adamson, A., Bondi, A.B., Juiz, C., Squillante, M.S. (eds.) Proceedings of the First Joint WOSP/SIPEW International Conference on Performance Engineering, pp. 27–36 (2010). https://doi.org/10.1145/1712605.1712612
Ni, Y., et al.: Multi-objective software performance optimisation at the architecture level using randomised search rules. Inf. Softw. Technol. 135, 106565 (2021). https://doi.org/10.1016/j.infsof.2021.106565
Ouni, A., Kessentini, M., Inoue, K., Cinnéide, M.Ó.: Search-based web service antipatterns detection. IEEE Trans. Serv. Comput. 10(4), 603–617 (2017). https://doi.org/10.1109/TSC.2015.2502595
Rago, A., Vidal, S.A., Diaz-Pace, J.A., Frank, S., van Hoorn, A.: Distributed quality-attribute optimization of software architectures. In: Proceedings of the 11th Brazilian Symposium on Software Components, Architectures and Reuse, SBCARS, pp. 7:1–7:10 (2017). https://doi.org/10.1145/3132498.3132509
Ramírez, A., Romero, J.R., Ventura, S.: A survey of many-objective optimisation in search-based software engineering. J. Syst. Softw. 149, 382–395 (2019)
Zhao, F., Lei, W., Ma, W., Liu, Y., Zhang, C.: An improved spea2 algorithm with adaptive selection of evolutionary operators scheme for multiobjective optimization problems. Math. Probl. Eng. 2016, 1–20 (2016)
Zhou, X., et al.: Fault analysis and debugging of microservice systems: industrial survey, benchmark system, and empirical study. TSE 47(2), 243–260 (2021). https://doi.org/10.1109/TSE.2018.2887384
Zitzler, E., Laumanns, M., Thiele, L.: SPEA 2: Improving the strength pareto evolutionary algorithm. TIK-report 103, Swiss Federal Institute of Technology (ETH) Zurich (2001)
Zitzler, E., Thiele, L.: Multiobjective optimization using evolutionary algorithms - A comparative case study. In: Eiben, A.E., Bäck, T., Schoenauer, M., Schwefel, H. (eds.) Parallel Problem Solving from Nature, LNCS, vol. 1498, pp. 292–304 (1998). https://doi.org/10.1007/BFb0056872
Acknowledgments
Daniele Di Pompeo and Michele Tucci are supported by European Union - NextGenerationEU - National Recovery and Resilience Plan (Piano Nazionale di Ripresa e Resilienza, PNRR) - Project: “SoBigData.it - Strengthening the Italian RI for Social Mining and Big Data Analytics” - Prot. IR0000013 - Avviso n. 3264 del 28/12/2021.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Cortellessa, V., Di Pompeo, D., Tucci, M. (2023). Performance of Genetic Algorithms in the Context of Software Model Refactoring. In: Iacono, M., Scarpa, M., Barbierato, E., Serrano, S., Cerotti, D., Longo, F. (eds) Computer Performance Engineering and Stochastic Modelling. EPEW ASMTA 2023 2023. Lecture Notes in Computer Science, vol 14231. Springer, Cham. https://doi.org/10.1007/978-3-031-43185-2_16
Download citation
DOI: https://doi.org/10.1007/978-3-031-43185-2_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-43184-5
Online ISBN: 978-3-031-43185-2
eBook Packages: Computer ScienceComputer Science (R0)