Search-based Refactoring Using Recorded Code Changes

被引:37
|
作者
Ouni, Ali [1 ,2 ]
Kessentini, Marouane [2 ]
Sahraoui, Houari [1 ]
机构
[1] Univ Montreal, DIRO, Montreal, PQ H3C 3J7, Canada
[2] Missouri Univ Sci & Technol, CS, Rolla, MO 65409 USA
关键词
Search-based Software Engineering; Refactoring; Software Maintenance; Multi-objective Optimization;
D O I
10.1109/CSMR.2013.31
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Over the past decades, many techniques and tools have been developed to record the sequence of applied refactoring to improve design quality. We start from the observation that these recorded code changes can be used to propose new refactoring solutions in similar contexts. In addition, this knowledge can be combined with structural and semantic information, used by existing work, to improve the automation of refactoring. In this paper, we propose a multi-objective optimization approach to find the best sequence of refactorings that maximizes the use of refactoring applied in the past to similar contexts, minimizes semantic errors and minimizes the number of defects (improve code quality). To this end, we use the non-dominated sorting genetic algorithm (NSGA-II) to find the best trade-off between these three objectives. We report the results of our experiments on different open source java projects.
引用
收藏
页码:221 / 230
页数:10
相关论文
共 50 条
  • [31] A Search-based Firmware Code Analysis Method for IoT Devices
    Xu, Yifei
    Liu, Ting
    Liu, Pengfei
    Sun, Hong
    2018 IEEE CONFERENCE ON COMMUNICATIONS AND NETWORK SECURITY (CNS), 2018,
  • [32] Optimized design refactoring (ODR): a generic framework for automated search-based refactoring to optimize object-oriented software architectures
    Houichime, Tarik
    El Amrani, Younes
    AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (02)
  • [33] Automatic Refactoring of Component-based Software by Detecting and Eliminating Bad Smells A Search-based Approach
    Kebir, Salim
    Borne, Isabelle
    Meslati, Djamel
    ENASE: PROCEEDINGS OF THE 11TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL SOFTWARE APPROACHES TO SOFTWARE ENGINEERING, 2016, : 210 - 215
  • [34] Code Naturalness to Assist Search Space Exploration in Search-Based Program Repair Methods
    Dantas, Altino
    de Souza, Eduardo F.
    Souza, Jerffeson
    Camilo-Junior, Celso G.
    SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2019, 2019, 11664 : 164 - 170
  • [35] Changes in Suicide Ideation Among Users of Online Gatekeeping Using Search-Based Advertising
    Sueki, Hajime
    Takahashi, Asumi
    Ito, Jiro
    ARCHIVES OF SUICIDE RESEARCH, 2023, 27 (04) : 1339 - 1350
  • [36] X-SBR: On the Use of the History of Refactorings for Explainable Search-Based Refactoring and Intelligent Change Operators
    Abid, Chaima
    Rzig, Dhia
    Ferreira, Thiago
    Kessentini, Marouane
    Sharma, Tushar
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (10) : 3753 - 3770
  • [37] Search-based optimization
    Wheeler, WC
    CLADISTICS-THE INTERNATIONAL JOURNAL OF THE WILLI HENNIG SOCIETY, 2003, 19 (04): : 348 - 355
  • [38] Refactoring Operations Grounded in Manual Code Changes
    Eilertsen, Anna Maria
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2020), 2020, : 182 - 185
  • [39] Search-based Detection of High-level Model Changes
    ben Fadhel, Ameni
    Kessentini, Marouane
    Langer, Philip
    Wimmer, Manuel
    2012 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2012, : 212 - 221
  • [40] Improving Source-Code Representations to Enhance Search-based Software Repair
    Reiter, Pemma
    Espinoza, Antonio M.
    Doupe, Adam
    Wang, Ruoyu
    Weimer, Westley
    Arizona, Stephanie Forrest
    PROCEEDINGS OF THE 2022 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE (GECCO'22), 2022, : 1336 - 1344