Abstract
In the Software Development Life-Cycle, the maintenance phase is often the most costly stage due to the efforts devoted to understanding the system. The Software Module Clustering Problem (SMCP) is an optimization problem which objective is to find the most modular organization of software systems to ease their comprehension. In this problem, software projects are frequently modeled as graphs. Then, the objective of the SMCP, which is proved to be \(\mathcal{N}\mathcal{P}\)-hard, is to group the vertices in modules such that the modularity of the graph is maximized. In this work, we present an algorithm based on Variable Neighborhood Descent for the SMCP and study a novel quality metric, the Function of Complexity Balance, which was recently proposed for the problem. Our proposal has been favorably evaluated over a dataset of 34 real software projects, outperforming the previous state-of-the-art method, a Hybrid Genetic Algorithm, in terms of both quality and computing time. Furthermore, the results are statistically significant according to the Wilcoxon’s signed rank test.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Brandes, U., et al.: On modularity clustering. IEEE Trans. Knowl. Data Eng. 20(2), 172–188 (2007)
Cavero, S., Pardo, E.G., Duarte, A.: A general variable neighborhood search for the cyclic antibandwidth problem. Comput. Optim. Appl. 81, 657–687 (2022)
Chen, C., Alfayez, R., Srisopha, K., Boehm, B., Shi, L.: Why is it important to measure maintainability and what are the best ways to do it? In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), pp. 377–378. IEEE (2017)
International Organization for Standardization: ISO/IEC/IEEE 24765:2017 Systems and software engineering - Vocabulary (2017)
López-Ibáñez, M., Dubois-Lacoste, J., Cáceres, L.P., Birattari, M., Stützle, T.: The irace package: iterated racing for automatic algorithm configuration. Oper. Res. Perspect. 3, 43–58 (2016)
Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y.F., Gansner, E.R.: Using automatic clustering to produce high-level system organizations of source code. In: 6th International Workshop on Program Comprehension (IWPC 1998), pp. 45–52. IEEE (1998)
Martín, R., Cavero, S.: MORK: Metaheuristic Optimization framewoRK. https://doi.org/10.5281/zenodo.6241738
Mladenović, N., Hansen, P.: Variable neighborhood search. Comput. Oper. Res. 24(11), 1097–1100 (1997)
Monçores, M.C., Alvim, A.C.F., Barros, M.O.: Large neighborhood search applied to the software module clustering problem. Comput. Oper. Res. 91, 92–111 (2018)
Mu, L., Sugumaran, V., Wang, F.: A hybrid genetic algorithm for software architecture re-modularization. Inf. Syst. Front. 22(5), 1133–1161 (2020)
de Oliveira Barros, M., de Almeida Farzat, F., Travassos, G.H.: Learning from optimization: a case study with apache ant. Inf. Softw. Technol. 57, 684–704 (2015)
Praditwong, K., Harman, M., Yao, X.: Software module clustering as a multi-objective search problem. IEEE Trans. Softw. Eng. 37(2), 264–282 (2010)
Ramirez, A., Romero, J.R., Ventura, S.: A survey of many-objective optimisation in search-based software engineering. J. Syst. Softw. 149, 382–395 (2019)
Yuste, J., Duarte, A., Pardo, E.G.: An efficient heuristic algorithm for software module clustering optimization. J. Syst. Softw. 190, 111349 (2022)
Acknowledgements
This research has been partially funded by the Spanish government (Refs. PGC2018-095322-B-C22 and PID2021-125709OA-C22) and by the Comunidad de Madrid (Ref. P2018/TCS-4566), cofinanced by European Structural Funds ESF and FEDER. The opinions, findings, and conclusions or recommendations expressed are those of the authors and do not necessarily reflect those of any of the funders.
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
Yuste, J., Pardo, E.G., Duarte, A. (2023). Variable Neighborhood Descent for Software Quality Optimization. In: Di Gaspero, L., Festa, P., Nakib, A., Pavone, M. (eds) Metaheuristics. MIC 2022. Lecture Notes in Computer Science, vol 13838. Springer, Cham. https://doi.org/10.1007/978-3-031-26504-4_44
Download citation
DOI: https://doi.org/10.1007/978-3-031-26504-4_44
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-26503-7
Online ISBN: 978-3-031-26504-4
eBook Packages: Computer ScienceComputer Science (R0)