Intelligent Change Operators for Multi-Objective Refactoring

被引:1
|
作者
Abid, Chaima [1 ]
Ivers, James [2 ]
Ferreira, Thiago do N. [1 ]
Kessentini, Marouane [1 ]
Kahla, Fares E. [1 ]
Ozkaya, Ipek [2 ]
机构
[1] Univ Michigan Dearborn, Dearborn, MI 48128 USA
[2] Carnegie Mellon Univ, Software Engn Inst, Pittsburgh, PA 15213 USA
基金
美国安德鲁·梅隆基金会;
关键词
refactoring dependencies; intelligent change operators; multi-objective refactoring recommendation; GENETIC-ALGORITHM;
D O I
10.1109/ASE51524.2021.9678519
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:768 / 780
页数:13
相关论文
共 50 条
  • [1] THE MULTI-OBJECTIVE REFACTORING SELECTION PROBLEM
    Chisalita-Cretu, Camelia
    Vescan, Andreea
    [J]. KEPT 2009: KNOWLEDGE ENGINEERING PRINCIPLES AND TECHNIQUES, 2009, : 291 - 298
  • [2] Overview of the Multi-Objective Refactoring Selection Problem
    Chisalita-Cretu, Camelia
    [J]. PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON VIRTUAL LEARNING, 2014, : 321 - 328
  • [3] Enabling Decision and Objective Space Exploration for Interactive Multi-Objective Refactoring
    Rebai, Soumaya
    Alizadeh, Vahid
    Kessentini, Marouane
    Fehri, Houcem
    Kazman, Rick
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (05) : 1560 - 1578
  • [4] MIRROR: multi-objective refactoring recommendation via correlation analysis
    Yang Zhang
    Ke Guan
    Lining Fang
    [J]. Automated Software Engineering, 2024, 31
  • [5] EASIER: an Evolutionary Approach for multi-objective Software archItecturE Refactoring
    Arcelli, Davide
    Cortellessa, Vittorio
    D'Emidio, Mattia
    Di Pompeo, Daniele
    [J]. 2018 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA), 2018, : 105 - 114
  • [6] A Robust Multi-objective Approach for Software Refactoring under Uncertainty
    Mkaouer, Mohamed Wiem
    Kessentini, Marouane
    Bechikh, Slim
    Cinneide, Mel O.
    [J]. SEARCH-BASED SOFTWARE ENGINEERING, 2014, 8636 : 168 - 183
  • [7] A Multi-Objective Approach for Entity Refactoring Set Selection Problem
    Chisalita-Cretu, Camelia
    [J]. 2009 SECOND INTERNATIONAL CONFERENCE ON THE APPLICATIONS OF DIGITAL INFORMATION AND WEB TECHNOLOGIES (ICADIWT 2009), 2009, : 790 - 795
  • [8] Multi-objective Software Architecture Refactoring driven by Quality Attributes
    Di Pompeo, Daniele
    Tucci, Michele
    [J]. 2023 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION, ICSA-C, 2023, : 175 - 178
  • [9] Identification of Web Service Refactoring Opportunities as a Multi-Objective Problem
    Wang, Hanzhang
    Ouni, Ali
    Kessentini, Marouane
    Maxim, Bruce
    Grosky, William I.
    [J]. 2016 IEEE INTERNATIONAL CONFERENCE ON WEB SERVICES (ICWS), 2016, : 586 - 593
  • [10] The Optimal Refactoring Selection Problem - A Multi-Objective Evolutionary Approach
    Chisalita-Cretu, Camelia
    [J]. PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON VIRTUAL LEARNING, ICVL 2010, 2010, : 410 - 417