• DocumentCode
    1958658
  • Title

    Search-Based Refactoring Using Recorded Code Changes

  • Author

    Ouni, Anis ; Kessentini, Marouane ; Sahraoui, Houari

  • Author_Institution
    DIRO, Univ. de Montreal, Montreal, QC, Canada
  • fYear
    2013
  • fDate
    5-8 March 2013
  • Firstpage
    221
  • Lastpage
    230
  • Abstract
    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.
  • Keywords
    Java; genetic algorithms; software maintenance; NSGA-II; design quality; multiobjective optimization approach; nondominated sorting genetic algorithm; open source Java project; recorded code change; refactoring automation; refactoring solution; refactorings sequence; search-based refactoring; Context; Integrated circuits; Measurement; Optimization; Semantics; Sociology; Statistics; Multi-objective Optimization; Refactoring; Search-based Software Engineering; Software Maintenance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on
  • Conference_Location
    Genova
  • ISSN
    1534-5351
  • Print_ISBN
    978-1-4673-5833-0
  • Type

    conf

  • DOI
    10.1109/CSMR.2013.31
  • Filename
    6498470