
Multi-objective general variable neighborhood search for software maintainability optimization
- Javier Yuste , Eduardo G Pardo , Abraham Duarte , Jin-Kao Hao
- 17 de julio de 2024
Resumen
La calidad de los proyectos de software se mide mediante diferentes atributos como la eficiencia, la seguridad, la robustez o la comprensibilidad, entre otros. En este trabajo, nos centramos en la mantenibilidad mediante el estudio de la optimización de la modularidad del software, que es uno de los aspectos más importantes en este sentido. Específicamente, estudiamos dos problemas de optimización multiobjetivo bien conocidos y estrechamente relacionados: el Equal-size Clustering Approach (ECA) y el Maximizing Cluster Approach (MCA). Cada uno de estos dos problemas busca optimizar varios objetivos deseables pero en conflicto en términos de modularidad.
Para ello, proponemos un método basado en la metodología Multi-Objective Variable Neighborhood Search (MO-VNS) en combinación con un procedimiento constructivo basado en Path-Relinking. Hasta donde sabemos, esta es la primera vez que se propone un método basado en MO-VNS para los problemas MCA y ECA.
Para mejorar el rendimiento del algoritmo propuesto, presentamos tres estrategias avanzadas: una evaluación incremental de las funciones objetivo, una exploración eficiente de áreas prometedoras en el espacio de búsqueda y un análisis de los objetivos que mejor sirven como funciones guía durante la fase de búsqueda. Nuestra propuesta ha sido validada mediante la comparación experimental del rendimiento de nuestro algoritmo con el mejor método previo del estado del arte para el problema y con tres métodos de referencia para la optimización multiobjetivo. Los experimentos se han realizado sobre un conjunto de 124 instancias reales de software previamente reportadas en la literatura.
Citar
Yuste, J., Pardo, E. G., Duarte, A., & Hao, J. K. (2024). Multi-objective general variable neighborhood search for software maintainability optimization. Engineering Applications of Artificial Intelligence, 133, 108593.

