Ai-based software defect predictors: Applications and benefits in a case study

AT Misirli, A Bener, R Kale - AI Magazine, 2011 - ojs.aaai.org
AT Misirli, A Bener, R Kale
AI Magazine, 2011ojs.aaai.org
Software defect prediction aims to reduce software testing efforts by guiding testers through
the defect-prone sections of software systems. Defect predictors are widely used in
organizations to predict defects in order to save time and effort as an alternative to other
techniques such as manual code reviews. The usage of a defect prediction model in a real-
life setting is difficult because it requires software metrics and defect data from past projects
to predict the defect-proneness of new projects. It is, on the other hand, very practical …
Abstract
Software defect prediction aims to reduce software testing efforts by guiding testers through the defect-prone sections of software systems. Defect predictors are widely used in organizations to predict defects in order to save time and effort as an alternative to other techniques such as manual code reviews. The usage of a defect prediction model in a real-life setting is difficult because it requires software metrics and defect data from past projects to predict the defect-proneness of new projects. It is, on the other hand, very practical because it is easy to apply, can detect defects using less time and reduces the testing effort. We have built a learning-based defect prediction model for a telecommunication company in the space of one year. In this study, we have briefly explained our model, presented its pay-off and described how we have implemented the model in the company. Furthermore, we compared the performance of our model with that of another testing strategy applied in a pilot project that implemented a new process called Team Software Process (TSP). Our results show that defect predictors can predict 87 percent of code defects, decrease inspection efforts by 72 percent and hence, reduces post-release defects by 44 percent. Furthermore, they can be used as complementary tools for a new process implementation whose effects on testing activities are limited.
ojs.aaai.org