Maintainability defects detection and correction: a multi-objective approach
作者:Ali Ouni, Marouane Kessentini, Houari Sahraoui, Mounir Boukadoum
摘要
Software defects often lead to bugs, runtime errors and software maintenance difficulties. They should be systematically prevented, found, removed or fixed all along the software lifecycle. However, detecting and fixing these defects is still, to some extent, a difficult, time-consuming and manual process. In this paper, we propose a two-step automated approach to detect and then to correct various types of maintainability defects in source code. Using Genetic Programming, our approach allows automatic generation of rules to detect defects, thus relieving the designer from a fastidious manual rule definition task. Then, we correct the detected defects while minimizing the correction effort. A correction solution is defined as the combination of refactoring operations that should maximize as much as possible the number of corrected defects with minimal code modification effort. We use the Non-dominated Sorting Genetic Algorithm (NSGA-II) to find the best compromise. For six open source projects, we succeeded in detecting the majority of known defects, and the proposed corrections fixed most of them with minimal effort.
论文关键词:Maintainability defects, Software maintenance, Search-based software engineering, Multi-objective optimization, By example, Effort
论文评审过程:
论文官网地址:https://doi.org/10.1007/s10515-011-0098-8