Research has yielded approaches to predict future defects in software artifacts based on historical information, thus assisting companies in effectively allocating limited development resources and developers in reviewing each others' code changes. Developers are unlikely to devote the same effort to inspect each software artifact predicted to contain defects, since the effort varies with the artifacts' size (cost) and the number of defects it exhibits (effectiveness). We propose to use Genetic Algorithms (GAs) for training prediction models to maximize their cost-effectiveness. We evaluate the approach on two well-known models, Regression Tree and Generalized Linear Model, and predict defects between multiple releases of six open source projects. Our results show that regression models trained by GAs significantly outperform their traditional counterparts, improving the cost-effectiveness by up to 240%. Often the top 10% of predicted lines of code contain up to twice as many defects.
|Title of host publication||Proceedings of the 2016 Genetic and Evolutionary Computation Conference|
|Publisher||Association for computing machinery, Inc. (ACM)|
|Number of pages||8|
|State||Published - 20 Jul 2016|
|Event||2016 Genetic and Evolutionary Computation Conference, GECCO 2016 - Denver, United States|
|Conference||2016 Genetic and Evolutionary Computation Conference, GECCO 2016|
|Period||20/07/16 → 24/07/16|