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 条
  • [21] Automated Refactoring of ATL Model Transformations: A Search-Based Approach
    Alkhazi, Bader
    Ruas, Terry
    Kessentini, Marouane
    Wimmer, Manuel
    Grosky, William, I
    19TH ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS'16), 2016, : 295 - 304
  • [22] Untangling the Knot: Enabling Architecture Evolution with Search-Based Refactoring
    Ivers, James
    Seifried, Chris
    Ozkaya, Ipek
    IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA 2022), 2022, : 101 - 111
  • [23] Search-Based Generalization and Refinement of Code Templates
    Molderez, Tim
    De Roover, Coen
    SEARCH BASED SOFTWARE ENGINEERING, SSBSE 2016, 2016, 9962 : 192 - 208
  • [24] Towards Minimizing the Impact of Changes Using Search-Based Approach
    Korel, Bogdan
    Almasri, Nada
    Tahat, Luay
    SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2018, 2018, 11036 : 262 - 277
  • [25] RRGcode: Deep hierarchical search-based code generation
    Gou, Qianwen
    Dong, Yunwei
    Wu, Yujiao
    Ke, Qiao
    JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 211
  • [26] Search-based detection of model level changes
    Kessentini, Marouane
    Mansoor, Usman
    Wimmer, Manuel
    Ouni, Ali
    Deb, Kalyanmoy
    EMPIRICAL SOFTWARE ENGINEERING, 2017, 22 (02) : 670 - 715
  • [27] Search-based detection of model level changes
    Marouane Kessentini
    Usman Mansoor
    Manuel Wimmer
    Ali Ouni
    Kalyanmoy Deb
    Empirical Software Engineering, 2017, 22 : 670 - 715
  • [28] Exploiting Antipheromone in Ant Colony Optimisation for Interactive Search-Based Software Design and Refactoring
    Simons, Chris
    Smith, Jim
    PROCEEDINGS OF THE 2016 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE (GECCO'16 COMPANION), 2016, : 143 - 144
  • [29] Search-Based Peer Reviewers Recommendation in Modern Code Review
    Ouni, Ali
    Kula, Raula Gaikovina
    Inoue, Katsuro
    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, : 367 - 377
  • [30] Search-based Testing using EFSMs
    Turlea, Ana
    2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2019), 2019, : 100 - 103