A robust multi-objective approach for software refactoring under uncertainty

35Citations
Citations of this article
55Readers
Mendeley users who have this article in their library.
Get full text

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. 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. We evaluated our approach using six open source systems and demonstrated that it is significantly better than state-of-the-art refactoring approaches in terms of robustness in 100% of 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 and to carry an acceptable robustness price. Our results also revealed an interesting feature about the trade-off between quality and robustness that demonstrates the practical value of taking robustness into account in software refactoring. © 2014 Springer International Publishing Switzerland.

Cite

CITATION STYLE

APA

Mkaouer, M. W., Kessentini, M., Bechikh, S., & Cinnéide, M. Ó. (2014). A robust multi-objective approach for software refactoring under uncertainty. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8636 LNCS, pp. 168–183). Springer Verlag. https://doi.org/10.1007/978-3-319-09940-8_12

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free