MIRROR: multi-objective refactoring recommendation via correlation analysis

被引:0
|
作者
Yang Zhang
Ke Guan
Lining Fang
机构
[1] Hebei University of Science and Technology,School of Information Science and Engineering
[2] Hebei Technology Innovation Center of Intelligent IoT,undefined
来源
Automated Software Engineering | 2024年 / 31卷
关键词
Refactoring; Multi-objective optimization; Refactoring recommendation; Correlation analysis;
D O I
暂无
中图分类号
学科分类号
摘要
Refactoring is a critical but complex process to improve code quality by altering software structure without changing the observable behavior. Search-based approaches have been proposed to recommend refactoring solutions. However, existing works tend to leverage all the sub-attributes in an objective and ignore the relationship between the sub-attributes. Furthermore, the types of refactoring operations in the existing works can be further augmented. To this end, this paper proposes a novel approach, called MIRROR, to recommend refactoring by employing a multi-objective optimization across three objectives: (i) improving quality, (ii) removing code smell, and (iii) maximizing the similarity to refactoring history. Unlike previous works, MIRROR provides a way to further optimize attributes in each objective. To be more specific, given an objective, MIRROR investigates the possible correlations among attributes and selects those attributes with low correlations as the representation of this objective. MIRROR is evaluated on 6 real-world projects by answering 6 research questions. The experimental results demonstrate that MIRROR recommends an average of 43 solutions for each project. Furthermore, we compare MIRROR against existing tools JMove and QMove, and show that the F1 of MIRROR is 5.63% and 3.75% higher than that of JMove and QMove, demonstrating the effectiveness of MIRROR.
引用
收藏
相关论文
共 50 条
  • [1] MIRROR: multi-objective refactoring recommendation via correlation analysis
    Zhang, Yang
    Guan, Ke
    Fang, Lining
    AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (01)
  • [2] MORCoRA: Multi-Objective Refactoring Recommendation Considering Review Availability
    Chen, Lei
    Hayashi, Shinpei
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2024, 34 (12) : 1919 - 1947
  • [3] THE MULTI-OBJECTIVE REFACTORING SELECTION PROBLEM
    Chisalita-Cretu, Camelia
    Vescan, Andreea
    KEPT 2009: KNOWLEDGE ENGINEERING PRINCIPLES AND TECHNIQUES, 2009, : 291 - 298
  • [4] Overview of the Multi-Objective Refactoring Selection Problem
    Chisalita-Cretu, Camelia
    PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON VIRTUAL LEARNING, 2014, : 321 - 328
  • [5] A Brief Review on Multi-objective Software Refactoring and a New Method for Its Recommendation
    Kaur, Satnam
    Awasthi, Lalit K.
    Sangal, A. L.
    ARCHIVES OF COMPUTATIONAL METHODS IN ENGINEERING, 2021, 28 (04) : 3087 - 3111
  • [6] A Brief Review on Multi-objective Software Refactoring and a New Method for Its Recommendation
    Satnam Kaur
    Lalit K. Awasthi
    A. L. Sangal
    Archives of Computational Methods in Engineering, 2021, 28 : 3087 - 3111
  • [7] MORE: A multi-objective refactoring recommendation approach to introducing design patterns and fixing code smells
    Ouni, Ali
    Kessentini, Marouane
    Cinneide, Mel O.
    Sahraoui, Houari
    Deb, Kalyanmoy
    Inoue, Katsuro
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2017, 29 (05)
  • [8] The Optimal Refactoring Selection Problem - A Multi-Objective Evolutionary Approach
    Chisalita-Cretu, Camelia
    PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON VIRTUAL LEARNING, ICVL 2010, 2010, : 410 - 417
  • [9] Multi-objective Software Architecture Refactoring driven by Quality Attributes
    Di Pompeo, Daniele
    Tucci, Michele
    2023 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE COMPANION, ICSA-C, 2023, : 175 - 178
  • [10] On the impact of Performance Antipatterns in multi-objective software model refactoring optimization
    Cortellessa, Vittorio
    Di Pompeo, Daniele
    Stoico, Vincenzo
    Tucci, Michele
    2021 47TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2021), 2021, : 224 - 233