An efficient heuristic algorithm for software module clustering optimization

dc.contributor.authorYuste, Javier
dc.contributor.authorDuarte, Abraham
dc.contributor.authorPardo, Eduardo G.
dc.date.accessioned2025-01-28T16:21:59Z
dc.date.available2025-01-28T16:21:59Z
dc.date.issued2022-08
dc.description.abstractIn the lifecycle of software projects, maintenance tasks usually entail 75% of the total costs, where most efforts are spent in understanding the program. To improve the maintainability of software projects, the code is often divided into components, which are then grouped in different modules following good design principles, lowering coupling and increasing cohesion. The Software Module Clustering Problem (SMCP) is an optimization problem that looks for maximizing the modularity of software projects in the context of Search-Based Software Engineering. In the SMCP, projects are often modeled as graphs. Therefore, the SMCP can be interpreted as a graph partitioning problem, which is proved to be NP-hard. In this work, we propose a new heuristic algorithm for software modularization, based on a Greedy Randomized Adaptive Search Procedure with Variable Neighborhood Descent. We present a three-fold categorization of neighborhoods for the SMCP and leverage domain-specific information to filter unpromising solutions. Our proposal has been successfully tested over a dataset of real software projects, outperforming the previous state-of-the-art approach in terms of Modularization Quality in very short computing times. Therefore, it could be integrated in software development tools to improve the quality of software projects in real time.
dc.identifier.citationYuste, J., Duarte, A., & Pardo, E. G. (2022). An efficient heuristic algorithm for software module clustering optimization. Journal of Systems and Software, 190, 111349.
dc.identifier.doi10.1016/j.jss.2022.111349
dc.identifier.issn0164-1212
dc.identifier.urihttps://hdl.handle.net/10115/66337
dc.language.isoen_US
dc.publisherElsevier
dc.relation.ispartofJournal of Systems and Software
dc.rights.accessRightsinfo:eu-repo/semantics/closedAccess
dc.subjectSoftware Module Clustering
dc.subjectSearch-Based Software Engineering
dc.subjectHeuristics
dc.subjectModularization Quality
dc.subjectMaintainability
dc.titleAn efficient heuristic algorithm for software module clustering optimization
dc.typeArticle
oaire.citation.volume190

Archivos

Bloque original

Mostrando 1 - 1 de 1
No hay miniatura disponible
Nombre:
1-s2.0-S0164121222000851-main.pdf
Tamaño:
2.08 MB
Formato:
Adobe Portable Document Format