一句话:提出融合重构依赖的智能交叉与变异算子,提升多目标重构推荐的多样性、收敛性并减少无效重构。
论文针对多目标重构推荐中搜索式方法易产生无效重构、破坏已有重构且解多样性不足、收敛慢的问题,提出智能变化算子并集成到演化多目标搜索算法。智能交叉与变异算子显式考虑重构依赖,避免无效重构;增强交叉通过交换改善最弱质量目标的合法重构块来生成后代。在四个开源项目上评估,结果表明算子提高了多样性并加速收敛,将无效重构较现有搜索式方法最多减少71.52%,同时提升解质量。相比最先进方法和确定性重构工具,开发者人工验证的平均正确率、精确率和召回率分别为0.89、0.82和0.87。
In this paper, we propose intelligent change operators and integrate them into an evolutionary multi-objective search algorithm to recommend valid refactorings that address conflicting quality objectives such as understandability and effectiveness. The proposed intelligent crossover and mutation operators incorporate refactoring dependencies to avoid creating invalid refactorings or invalidating existing refactorings. Further, the intelligent crossover operator is augmented to create offspring that improve solution quality by exchanging blocks of valid refactorings that improve a solution’s weakest objectives. We used our intelligent change operators to generate refactoring recommendations for four widely used open-source projects. The results show that our intelligent change operators improve the diversity of solutions. Diversity is important in genetic algorithms because crossing over a homogeneous population does not yield new solutions. Given the inherent nature of design trade-offs in software, giving developers choices that reflect these trade-offs is important. Higher diversity makes better use of developers time than lots of incredibly similar solutions. Our intelligent change operators also accelerate solution convergence to a feasible solution that optimizes the trade-off between the conflicting quality objectives. Finally, they reduce the number of invalid refactorings by up to 71.52% compared to existing search-based refactoring approaches, and increase the quality of the solutions. Our approach outperformed the state-of-the-art search-based refactoring approaches and an existing deterministic refactoring tool based on manual validation by developers with an average manual correctness, precision and recall of 0.89, 0.82, and 0.87.
DOI 原文 ·
@inproceedings{paperbot6552,
title = {Intelligent Change Operators for Multi-Objective Refactoring},
author = {Chaima Abid and James Ivers and Thiago Do N. Ferreira and Marouane Kessentini and Fares E. Kahla and Ipek Ozkaya},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678519}
}