• DocumentCode
    588597
  • Title

    Search-based refactoring: Towards semantics preservation

  • Author

    Ouni, Anis ; Kessentini, Marouane ; Sahraoui, Houari ; Hamdi, Mohamed Salah

  • Author_Institution
    DIRO, Univ. de Montreal, Montréal, QC, Canada
  • fYear
    2012
  • fDate
    23-28 Sept. 2012
  • Firstpage
    347
  • Lastpage
    356
  • Abstract
    Refactoring restructures a program to improve its structure without altering its behavior. However, it is challenging to preserve the domain semantics of a program when refactoring is decided/implemented automatically. Indeed, a program could be syntactically correct, have the right behavior, but model incorrectly the domain semantics. In this paper, we propose a multi-objective optimization approach to find the best sequence of refactorings that maximizes quality improvements (program structure) and minimizes semantic errors. To this end, we use the non-dominated sorting genetic algorithm (NSGA-II) to find the best compromise between these two conflicting objectives. We report the results of our experiments on different open source projects.
  • Keywords
    genetic algorithms; programming language semantics; public domain software; search problems; software maintenance; software quality; sorting; domain semantic preservation; multiobjective optimization approach; nondominated sorting genetic algorithm; open source projects; program restructuring; program structure; quality improvements; search-based refactoring; semantic errors; Optimization; Semantics; Sociology; Software; Statistics; Vectors; Vocabulary; Design-defects; Multi-objective Optimization; Search-based Software Engineerng; Semantic Similarity; Software Maintenance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2012 28th IEEE International Conference on
  • Conference_Location
    Trento
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4673-2313-0
  • Type

    conf

  • DOI
    10.1109/ICSM.2012.6405292
  • Filename
    6405292