English

Early Life Cycle Software Defect Prediction. Why? How?

Software Engineering 2021-02-10 v3 Machine Learning

Abstract

Many researchers assume that, for software analytics, "more data is better." We write to show that, at least for learning defect predictors, this may not be true. To demonstrate this, we analyzed hundreds of popular GitHub projects. These projects ran for 84 months and contained 3,728 commits (median values). Across these projects, most of the defects occur very early in their life cycle. Hence, defect predictors learned from the first 150 commits and four months perform just as well as anything else. This means that, at least for the projects studied here, after the first few months, we need not continually update our defect prediction models. We hope these results inspire other researchers to adopt a "simplicity-first" approach to their work. Some domains require a complex and data-hungry analysis. But before assuming complexity, it is prudent to check the raw data looking for "short cuts" that can simplify the analysis.

Keywords

Cite

@article{arxiv.2011.13071,
  title  = {Early Life Cycle Software Defect Prediction. Why? How?},
  author = {N. C. Shrikanth and Suvodeep Majumder and Tim Menzies},
  journal= {arXiv preprint arXiv:2011.13071},
  year   = {2021}
}

Comments

12 pages (To appear ICSE 2021)

R2 v1 2026-06-23T20:31:08.925Z