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 条
  • [41] A Multi-Objective Optimization Framework for Multi-Stakeholder Fairness-Aware Recommendation
    Wu, Haolun
    Ma, Chen
    Mitra, Bhaskar
    Diaz, Fernando
    Liu, Xue
    ACM TRANSACTIONS ON INFORMATION SYSTEMS, 2023, 41 (02)
  • [42] Multi-clustering via evolutionary multi-objective optimization
    Wang, Rui
    Lai, Shiming
    Wu, Guohua
    Xing, Lining
    Wang, Ling
    Ishibuchi, Hisao
    INFORMATION SCIENCES, 2018, 450 : 128 - 140
  • [43] Multi-objective grey correlation analysis based on CFRP Helical Milling simulation model
    Zhou, Lan
    Wang, Yunlong
    An, Guosheng
    Zhu, Ruibiao
    Li, Guangqi
    Ma, Rong
    INTERNATIONAL JOURNAL OF ADVANCED MANUFACTURING TECHNOLOGY, 2024, 135 (3-4) : 1565 - 1585
  • [44] Multi-Objective Optimization-Based Recommendation for Massive Online Learning Resources
    Li, Hui
    Zhong, Zhaoman
    Shi, Jun
    Li, Haining
    Zhang, Yong
    IEEE SENSORS JOURNAL, 2021, 21 (22) : 25274 - 25281
  • [45] Multi-Objective Entropy Optimization Model for Agricultural Product Price Recommendation Problem
    Delli Wihartiko, Fajar
    Nurdiati, Sri
    Buono, Agus
    Santosa, Edi
    ENGINEERING LETTERS, 2023, 31 (04) : 1908 - 1918
  • [46] Personalized Recommendation Algorithm Based on Data Mining and Multi-objective Immune Optimization
    Zhu, Zhigang
    Informatica (Slovenia), 2024, 48 (19): : 131 - 144
  • [47] A Ranker Ensemble for Multi-objective Job Recommendation in an Item Cold Start Setting
    Yagci, Murat
    Gurgen, Fikret
    PROCEEDINGS OF THE RECOMMENDER SYSTEMS CHALLENGE WORKSHOP 2017, 2017,
  • [48] Multi-objective optimization for location-based and preferences-aware recommendation
    Wang, Shanfeng
    Gong, Maoguo
    Wu, Yue
    Zhang, Mingyang
    INFORMATION SCIENCES, 2020, 513 : 614 - 626
  • [49] Search-based software library recommendation using multi-objective optimization
    Ouni, Ali
    Kula, Raula Gaikovina
    Kessentini, Marouane
    Ishio, Takashi
    German, Daniel M.
    Inoue, Katsuro
    INFORMATION AND SOFTWARE TECHNOLOGY, 2017, 83 : 55 - 75
  • [50] A big-data oriented recommendation method based on multi-objective optimization
    Xu, Chonghuan
    KNOWLEDGE-BASED SYSTEMS, 2019, 177 : 11 - 21