Multi-objective general variable neighborhood search for software maintainability optimization

被引:2
作者
Yuste, Javier [1 ]
Pardo, Eduardo G. [1 ]
Duarte, Abraham [1 ]
Hao, Jin-Kao [2 ]
机构
[1] Univ Rey Juan Carlos, C-Tulipan S-N Mostoles, Madrid 28933, Spain
[2] Univ Angers, LERIA, 2 Blvd Lavoisier, F-49045 Angers, France
基金
奥地利科学基金会;
关键词
Software maintainability; Search-based software engineering; Software module clustering; Heuristics; Multi-objective optimization; MANY-OBJECTIVE OPTIMIZATION; EVOLUTIONARY ALGORITHM; MODULARIZATION; REDUCTION;
D O I
10.1016/j.engappai.2024.108593
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The quality of software projects is measured by different attributes such as efficiency, security, robustness, or understandability, among others. In this paper, we focus on maintainability by studying the optimization of software modularity, which is one of the most important aspects in this regard. Specifically, we study two well-known and closely related multi-objective optimization problems: the Equal-size Cluster Approach Problem (ECA) and the Maximizing Cluster Approach Problem (MCA). Each of these two problems looks for the optimization of several conflicting and desirable objectives in terms of modularity. To this end, we propose a method based on the Multi-Objective Variable Neighborhood Search (MO-VNS) methodology in combination with a constructive procedure based on Path-Relinking. As far as we know, this is the first time that a method based on MO-VNS is proposed for the MCA and ECA problems. To enhance the performance of the proposed algorithm, we present three advanced strategies: an incremental evaluation of the objective functions, an efficient exploration of promising areas in the search space, and an analysis of the objectives that better serve as guiding functions during the search phase. Our proposal has been validated by experimentally comparing the performance of our algorithm with the best previous state-of-the-art method for the problem and three reference methods for multi-objective optimization. The experiments have been performed on a set of 124 real software instances previously reported in the literature.
引用
收藏
页数:19
相关论文
共 81 条
[1]   Automatic Package Coupling and Cycle Minimization [J].
Abdeen, Hani ;
Ducasse, Stephane ;
Sahraoui, Houari ;
Alloui, Ilham .
16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, :103-+
[2]   Quality Indicators in Search-based Software Engineering: An Empirical Evaluation [J].
Ali, Shaukat ;
Arcaini, Paolo ;
Pradhan, Dipesh ;
Safdar, Safdar Aqeel ;
Yue, Tao .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2020, 29 (02)
[3]   TA-ABC: Two-Archive Artificial Bee Colony for Multi-objective Software Module Clustering Problem [J].
Amarjeet ;
Chhabra, Jitender Kumar .
JOURNAL OF INTELLIGENT SYSTEMS, 2018, 27 (04) :619-641
[4]   Many-objective artificial bee colony algorithm for large-scale software module clustering problem [J].
Amarjeet ;
Chhabra, Jitender Kumar .
SOFT COMPUTING, 2018, 22 (19) :6341-6361
[5]   FP-ABC: Fuzzy-Pareto dominance driven artificial bee colony algorithm for many-objective software module clustering [J].
Amarjeet ;
Chhabra, Jitender Kumar .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 51 :1-21
[6]   Harmony search based remodularization for object-oriented software systems [J].
Amarjeet ;
Chhabra, Jitender Kumar .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2017, 47 :153-169
[7]  
[Anonymous], 2017, ISO/IEC/IEEE 24765:2017
[8]   A bioinspired discrete heuristic algorithm to generate the effective structural model of a program source code [J].
Arasteh, Bahman ;
Sadegi, Razieh ;
Arasteh, Keyvan ;
Gunes, Peri ;
Kiani, Farzad ;
Torkamanian-Afshar, Mahsa .
JOURNAL OF KING SAUD UNIVERSITY-COMPUTER AND INFORMATION SCIENCES, 2023, 35 (08)
[9]   Clustered design-model generation from a program source code using chaos-based metaheuristic algorithms [J].
Arasteh, Bahman .
NEURAL COMPUTING & APPLICATIONS, 2023, 35 (04) :3283-3305
[10]   Savalan: Multi objective and homogeneous method for software modules clustering [J].
Arasteh, Bahman ;
Fatolahzadeh, Ahmad ;
Kiani, Farzad .
JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2022, 34 (01)