An Approach to Prioritize Classes in a Multi-objective Software Maintenance Framework

被引:1
作者
Mohan, Michael [1 ]
Greer, Des [1 ]
机构
[1] Queens Univ Belfast, Dept Elect Elect Engn & Comp Sci, Belfast, Antrim, North Ireland
来源
PROCEEDINGS OF THE 13TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING | 2018年
基金
英国工程与自然科学研究理事会;
关键词
Search based Software Engineering; Maintenance; Automated Refactoring; Refactoring Tools; Software Quality; Multi-objective Optimization; Genetic Algorithms;
D O I
10.5220/0006631902150222
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Genetic algorithms have become popular in automating software refactoring and an increasing level of attention is being given to the use of multi-objective approaches. This paper investigated the use of a multi-objective genetic algorithm to automate software refactoring using a purpose built tool, MultiRefactor. The tool used a metric function to measure quality in a software system and tested a second objective to measure the importance of the classes being refactored. This priority objective takes as input a set of classes to favor and, optionally, a set of classes to disfavor as well. The multi-objective setup refactors the input program to improve its quality using the quality objective, while also focusing on the classes specified by the user. An experiment was constructed to measure the multi-objective approach against the alternative mono-objective approach that does not use an objective to measure priority of classes. The two approaches were tested on six different open source Java programs. The multi-objective approach was found to give significantly better priority scores across all inputs in a similar time, while also generating improvements in the quality scores.
引用
收藏
页码:215 / 222
页数:8
相关论文
共 15 条
[1]   A hierarchical model for object-oriented design quality assessment [J].
Bansiya, J ;
Davis, CG .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (01) :4-17
[2]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493
[3]  
Deb Kalyanmoy, 2013, IEEEXPLORE IEEE ORG, V18, P1
[4]  
Fowler M., 1999, Refactoring: Improving the Design of Existing Code
[5]  
Griffith I., 2011, P 24 INT C COMP APPL, P1
[6]   Design Defects Detection and Correction by Example [J].
Kessentini, Marouane ;
Kessentini, Wael ;
Sahraoui, Houari ;
Boukadoum, Mounir ;
Ouni, Ali .
2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, :81-90
[7]   An Empirical Study About Search-Based Refactoring Using Alternative Multiple and Population-Based Search Techniques [J].
Koc, Ekin ;
Ersoy, Nur ;
Andac, Ali ;
Camlidere, Zelal Seda ;
Cereci, Ibrahim ;
Kilic, Hurevren .
COMPUTER AND INFORMATION SCIENCES II, 2012, :59-+
[8]  
Mkaouer M. W, 2015, EMPIRICAL SOFTWARE E
[9]  
Mkaouer W., 2014, GEN EV COMP C GECCO
[10]   Many-Objective Software Remodularization Using NSGA-III [J].
Mkaouer, Wiem ;
Kessentini, Marouane ;
Shaout, Adnan ;
Koligheu, Patrice ;
Bechikh, Slim ;
Deb, Kalyanmoy ;
Ouni, Ali .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2015, 24 (03)