• DocumentCode
    34221
  • Title

    Researcher Bias: The Use of Machine Learning in Software Defect Prediction

  • Author

    Shepperd, Martin ; Bowes, D. ; Hall, T.

  • Author_Institution
    Brunel Univ., Uxbridge, UK
  • Volume
    40
  • Issue
    6
  • fYear
    2014
  • fDate
    June 1 2014
  • Firstpage
    603
  • Lastpage
    616
  • Abstract
    Background. The ability to predict defect-prone software components would be valuable. Consequently, there have been many empirical studies to evaluate the performance of different techniques endeavouring to accomplish this effectively. However no one technique dominates and so designing a reliable defect prediction model remains problematic. Objective. We seek to make sense of the many conflicting experimental results and understand which factors have the largest effect on predictive performance. Method. We conduct a meta-analysis of all relevant, high quality primary studies of defect prediction to determine what factors influence predictive performance. This is based on 42 primary studies that satisfy our inclusion criteria that collectively report 600 sets of empirical prediction results. By reverse engineering a common response variable we build a random effects ANOVA model to examine the relative contribution of four model building factors (classifier, data set, input metrics and researcher group) to model prediction performance. Results. Surprisingly we find that the choice of classifier has little impact upon performance (1.3 percent) and in contrast the major (31 percent) explanatory factor is the researcher group. It matters more who does the work than what is done. Conclusion. To overcome this high level of researcher bias, defect prediction researchers should (i) conduct blind analysis, (ii) improve reporting protocols and (iii) conduct more intergroup studies in order to alleviate expertise issues. Lastly, research is required to determine whether this bias is prevalent in other applications domains.
  • Keywords
    learning (artificial intelligence); object-oriented programming; reverse engineering; software metrics; software performance evaluation; statistical analysis; blind analysis; classifier factor; common response variable; data set factor; defect-prone software component prediction; input metrics factor; intergroup studies; machine learning; model building factors; performance evaluation; random effects ANOVA model; reporting protocol improvement; researcher bias; researcher group factor; reverse engineering; software defect prediction; Buildings; Correlation; Data models; Measurement; Predictive models; Software; Software engineering; Software defect prediction; meta-analysis; researcher bias;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2014.2322358
  • Filename
    6824804