International Journal Peer-reviewed

A Robust Multi-Objective Approach to Balance Severity and Importance of Refactoring Opportunities

Mohamed Wiem Mkaouer, Marouane Kessentini, Mel Ó Cinnéide, Shinpei Hayashi, Kalyanmoy Deb

Empirical Software Engineering, vol. 22, no. 2, pp. 894–927, April 2017.

Abstract

Refactoring large systems involves several sources of uncertainty related to the severity levels of code smells to be corrected and the importance of the classes in which the smells are located. Both severity and importance of identified refactoring opportunities (e.g. code smells) are difficult to estimate. In fact, due to the dynamic nature of software development, these values cannot be accurately determined in practice, leading to refactoring sequences that lack robustness. In addition, some code fragments can contain severe quality issues but they are not playing an important role in the system. To address this problem, we introduced a multi-objective robust model, based on NSGA-II, for the software refactoring problem that tries to find the best trade-off between three objectives to maximize: quality improvements, severity and importance of refactoring opportunities to be fixed. We evaluated our approach using 8 open source systems and one industrial project, and demonstrated that it is significantly better than state-of-the-art refactoring approaches in terms of robustness in all the experiments based on a variety of real-world scenarios. Our suggested refactoring solutions were found to be comparable in terms of quality to those suggested by existing approaches, better prioritization of refactoring opportunities and to carry an acceptable robustness price.

BibTeX

@article{mkaouer-emse201704,
    author = {Mohamed Wiem Mkaouer and Marouane Kessentini and Mel \'{O} Cinn\'{e}ide and Shinpei Hayashi and Kalyanmoy Deb},
    title = {A Robust Multi-Objective Approach to Balance Severity and Importance of Refactoring Opportunities},
    journal = {Empirical Software Engineering},
    volume = 22,
    number = 2,
    pages = {894--927},
    doi = {10.1007/s10664-016-9426-8},
    year = 2017,
}
Type
International Journal
Published
April 2017
Volume / Pages
vol. 22, no. 2, pp. 894–927
DOI
10.1007/s10664-016-9426-8