3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural Consistency

被引:0
|
作者
Liu, Jingwen [1 ]
Jin, Wuxia [2 ]
Zhou, Junhui [2 ]
Feng, Qiong [3 ]
Fan, Ming [1 ]
Wang, Haijun [1 ]
Liu, Ting [1 ]
机构
[1] Xi An Jiao Tong Univ, Minist Educ, Sch Cyber Sci & Engn, Key Lab Intelligent Networks & Network Secur, Xian 710049, Peoples R China
[2] Xi An Jiao Tong Univ, Sch Comp Sci & Engn, Xian 710049, Peoples R China
[3] Nanjing Univ Sci & Technol, Sch Comp Sci & Engn, Nanjing 210094, Peoples R China
基金
中国国家自然科学基金; 国家重点研发计划;
关键词
Architectural Inconsistency; automated refactoring recommendation; architecture recovery; efficiency; IDENTIFICATION; DESIGN; SPACE;
D O I
10.1109/TSE.2024.3449564
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:2633 / 2655
页数:23
相关论文
共 1 条
  • [1] MMRUC3: A recommendation approach of move method refactoring using coupling, cohesion, and contextual similarity to enhance software design
    Rahman, Md. Masudur
    Riyadh, Rashed Rubby
    Khaled, Shah Mostafa
    Satter, Abdus
    Rahman, Md. Rayhanur
    SOFTWARE-PRACTICE & EXPERIENCE, 2018, 48 (09): : 1560 - 1587