Study on Effectiveness of Quality Objectives and Non-quality Objectives for Automated Software Refactoring

The cost of software maintenance increases as the continuous iterative development of software.To reduce this cost,automated software refactoring is proven to be an effective solution.One of the most typical automated software refactoring approaches is the search-based refactoring.This approach refa...

Full description

Bibliographic Details
Main Author: GUO Ya-lin, LI Xiao-chen, REN Zhi-lei, JIANG He
Format: Article
Language:zho
Published: Editorial office of Computer Science 2022-11-01
Series:Jisuanji kexue
Subjects:
Online Access:https://www.jsjkx.com/fileup/1002-137X/PDF/1002-137X-2022-49-11-55.pdf
Description
Summary:The cost of software maintenance increases as the continuous iterative development of software.To reduce this cost,automated software refactoring is proven to be an effective solution.One of the most typical automated software refactoring approaches is the search-based refactoring.This approach refactors software according to some predefined objectives.Existing stu-dies show that the selection of objectives plays a decisive role in the search process.Although many quality objectives and non-quality objectives are proposed,there is no research to analyze that in the same evaluation framework which objectives can guide the software refactoring to achieve results that meet developers’ expectations.Meanwhile,whether the combination of quality objectives and non-quality objectives will have better results is not analyzed.To answer these questions,this paper designs a search-based multi-objective software refactoring evaluation framework.Under the framework,this paper investigates the impact of the combination of seven different objectives on software refactoring with six open-source software projects in different scales;the software quality before and after refactoring is evaluated using a variety of indicators,and the effectiveness of different objective combinations is also analyzed.Experimental results show that the combination of quality objectives and non-quality objectives can better improve the effectiveness of software refactoring than using one single type of objectives,and the combination of the ‘qua-lity’ objective and the ‘similarity with recorded code changes’ objective is important to the improvement of software refactoring effectiveness.
ISSN:1002-137X