当前位置:
X-MOL 学术
›
IEEE Trans. Softw. Eng.
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural Consistency
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2024-08-28 , DOI: 10.1109/tse.2024.3449564 Jingwen Liu 1 , Wuxia Jin 1 , Junhui Zhou 1 , Qiong Feng 2 , Ming Fan 1 , Haijun Wang 1 , Ting Liu 1
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2024-08-28 , DOI: 10.1109/tse.2024.3449564 Jingwen Liu 1 , Wuxia Jin 1 , Junhui Zhou 1 , Qiong Feng 2 , Ming Fan 1 , Haijun Wang 1 , Ting Liu 1
Affiliation
As software continues to evolve and business functions become increasingly complex, architectural inconsistency arises when the implementation architecture deviates from the expected architecture design. This architectural problem makes maintenance difficult and requires significant effort to refactor. To assist labor-intensive refactoring, automated refactoring has received much attention such as searching for optimal refactoring solutions. However, there are still three limitations: The recommended refactorings are insufficiently effective in addressing architectural consistency; the search process for refactoring solution is inefficient; and there is a lack of executable refactoring solutions. To address these limitations, we propose an effective, efficient, and executable refactoring recommendation approach namely the 3Erefactor for software architectural consistency. To achieve effective refactoring, 3Erefactor uses NSGA-II to generate refactoring solutions that minimize architectural inconsistencies at module level and entity level. To achieve efficient refactoring, 3Erefactor leverages architecture recovery technique to locate files requiring refactoring, helping accelerate the convergence of refactoring algorithm. To achieve executable refactoring, 3Erefactor designs a set of refactoring executability constraint strategies during the refactoring solution search and generation, including improving refactoring pre-conditions and removing invalid operations in refactoring solutions. We evaluated our approach on six open source systems. Statistical analysis of our experiments shows that, the refactoring solution generated by 3Erefactor performed significantly better than 3 state-of-the-art approaches in terms of reducing the number of architectural inconsistencies, improving the efficiency of the refactoring algorithm and improving the executability of refactorings.
中文翻译:
3Erefactor:针对软件架构一致性的有效、高效且可执行的重构建议
随着软件的不断发展和业务功能变得越来越复杂,当实现架构偏离预期的架构设计时,就会出现架构不一致。此体系结构问题使维护变得困难,并且需要大量精力进行重构。为了帮助劳动密集型重构,自动重构受到了广泛关注,例如寻找最佳重构解决方案。但是,仍然存在三个限制:建议的重构在解决架构一致性方面不够有效;重构解决方案的搜索过程效率低下;并且缺乏可执行的重构解决方案。为了解决这些限制,我们提出了一种有效、高效且可执行的重构推荐方法,即 3Erefactor,以实现软件架构一致性。为了实现有效的重构,3Erefactor 使用 NSGA-II 生成重构解决方案,以最大限度地减少模块级别和实体级别的架构不一致。为了实现高效的重构,3Erefactor 利用架构恢复技术来定位需要重构的文件,帮助加速重构算法的融合。为了实现可执行重构,3Erefactor 在重构解决方案搜索和生成过程中设计了一组重构可执行性约束策略,包括改进重构前提条件和删除重构解决方案中的无效操作。我们在 6 个开源系统上评估了我们的方法。 对我们实验的统计分析表明,3Erefactor 生成的重构解决方案在减少架构不一致的数量、提高重构算法的效率和提高重构的可执行性方面,性能明显优于 3 种最先进的方法。
更新日期:2024-08-28
中文翻译:
3Erefactor:针对软件架构一致性的有效、高效且可执行的重构建议
随着软件的不断发展和业务功能变得越来越复杂,当实现架构偏离预期的架构设计时,就会出现架构不一致。此体系结构问题使维护变得困难,并且需要大量精力进行重构。为了帮助劳动密集型重构,自动重构受到了广泛关注,例如寻找最佳重构解决方案。但是,仍然存在三个限制:建议的重构在解决架构一致性方面不够有效;重构解决方案的搜索过程效率低下;并且缺乏可执行的重构解决方案。为了解决这些限制,我们提出了一种有效、高效且可执行的重构推荐方法,即 3Erefactor,以实现软件架构一致性。为了实现有效的重构,3Erefactor 使用 NSGA-II 生成重构解决方案,以最大限度地减少模块级别和实体级别的架构不一致。为了实现高效的重构,3Erefactor 利用架构恢复技术来定位需要重构的文件,帮助加速重构算法的融合。为了实现可执行重构,3Erefactor 在重构解决方案搜索和生成过程中设计了一组重构可执行性约束策略,包括改进重构前提条件和删除重构解决方案中的无效操作。我们在 6 个开源系统上评估了我们的方法。 对我们实验的统计分析表明,3Erefactor 生成的重构解决方案在减少架构不一致的数量、提高重构算法的效率和提高重构的可执行性方面,性能明显优于 3 种最先进的方法。