Software refactoring under uncertainty
Mohamed Wiem Mkaouer, Marouane Kessentini, Slim Bechikh, Mel Ó'Cinnéide, Kalyanmoy Deb · 2014
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. Due to the dynamic nature of software development, these values cannot be accurately determined in practice, leading to refactoring sequences that lack robustness. 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 quality and robustness.