Deployment of a change-level software defect prediction solution into an industrial setting


Eken B., Tufan S., Tunaboylu A., Guler T., Atar R., Tosun Kühn A.

JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, cilt.33, sa.11, 2021 (SCI-Expanded) identifier identifier

  • Yayın Türü: Makale / Tam Makale
  • Cilt numarası: 33 Sayı: 11
  • Basım Tarihi: 2021
  • Doi Numarası: 10.1002/smr.2381
  • Dergi Adı: JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS
  • Derginin Tarandığı İndeksler: Science Citation Index Expanded (SCI-EXPANDED), Scopus, Academic Search Premier, Aerospace Database, Applied Science & Technology Source, Communication Abstracts, Compendex, Computer & Applied Sciences, INSPEC, Metadex, Civil Engineering Abstracts
  • Anahtar Kelimeler: change-level defect prediction, deployment, industrial case study, online prediction, STATIC CODE ATTRIBUTES, MODELS
  • İstanbul Teknik Üniversitesi Adresli: Evet

Özet

Applying change-level software defect prediction (SDP) in practice has several challenges regarding model validation techniques, data accuracy, and prediction performance consistency. A few studies report on these challenges in an industrial context. We share our experience in integrating an SDP into an industrial context. We investigate whether an "offline" SDP could reflect its "online" (real-life) performance, and other deployment decisions: the model re-training process and update period. We employ an online prediction strategy by considering the actual labels of training commits at the time of prediction and compare its performance against an offline prediction. We empirically assess the online SDP's performance with various lengths of the time gap between the train and test set and model update periods. Our online SDP's performance could successfully reach its offline performance. The time gap between the train and test commits, and model update period significantly impacts the online performance by 37% and 18% in terms of probability of detection (pd), respectively. We deploy the best SDP solution (73% pd) with an 8-month time gap and a 3-day update period. Contextual factors may determine the model performance in practice, its consistency, and trustworthiness. As future work, we plan to investigate the reasons for fluctuations in model performance over time.