首页 | 本学科首页   官方微博 | 高级检索  
     


A robust multi-objective approach to balance severity and importance of refactoring opportunities
Authors:Mohamed Wiem Mkaouer  Marouane Kessentini  Mel Ó Cinnéide  Shinpei Hayashi  Kalyanmoy Deb
Affiliation:1.University of Michigan,Dearborn,USA;2.University College Dublin,Dublin,Ireland;3.Tokyo Institute of Technology,Tokyo,Japan;4.Michigan State University,East Lansing,USA
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.
Keywords:
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号