Deep Learning-Based Bug Prediction Using Code Embedding and Developer Activity: A Review

Authors

  • Rucheta Panicker Savitribai Phule Pune University
  • Sonali Rangdale

Keywords:

Change-level prediction, Code embedding, Deep learning, Developer activity, Empirical software engineering, Just-in-time quality assurance, Software defect prediction

Abstract

Software defect prediction helps development teams focus limited quality-assurance effort on the parts of a system most likely to contain faults. Early work in this area, exemplified by the change-level Just-In-Time (JIT) quality assurance model that relied on a compact set of hand-crafted metrics describing the size, diffusion, purpose, history, and authorship of a code change, combined with classical statistical learners such as logistic regression. Although effective and interpretable, hand-crafted metrics cannot capture the deeper semantic and syntactic structure of source code. This limitation motivated a wave of deep-learning-based defect prediction research that automatically learns code representations (embeddings) from tokens, abstract syntax trees, or pre-trained code language models. In parallel, several studies have shown that features describing developer behaviour and activity, such as experience, ownership, submission rate, and collaboration patterns, carry independent predictive signal that complements code-level information. This review surveys the evolution of defect prediction from metric-based JIT models to modern deep-learning approaches that fuse code embeddings with developer-activity features. Representative techniques are summarised, and their embedding strategies and use of process metrics are compared. The review then identifies the gaps that persist in the literature, chiefly the limited joint modelling of semantic code representations with fine-grained developer behaviour at the commit level, and outlines the motivation and scope for a hybrid deep-learning model for bug prediction that combines code embeddings with developer-activity signals.

References

Y. Kamei et al., “A large-scale empirical study of just-in-time quality assurance,” IEEE transactions on software engineering, vol. 39, no. 6, pp. 757–773, Jun. 2013.

A. E. Hassan, “Predicting faults using the complexity of code changes,” 2009 IEEE 31st International Conference on Software Engineering, Vancouver, BC, Canada, 2009, pp. 78–88.

A. Mockus and D. M. Weiss, “Predicting risk of software changes,” in Bell Labs Technical Journal, vol. 5, no. 2, pp. 169–180, Apr.-Jun. 2000

S. Kim, E. J. Whitehead,, and Y. Zhang, “Classifying software changes: Clean or buggy?,” IEEE Transactions on Software Engineering, vol. 34, no. 2, pp. 181–196, Mar-Apr. 2008.

J. Li, P. He, J. Zhu and M. R. Lyu, “Software defect prediction via convolutional neural network,” 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS), Prague, Czech Republic, 2017, pp. 318–328.

S. Wang, T. Liu, and L. Tan, “Automatically learning semantic features for defect prediction,” Proceedings of the 38th International Conference on Software Engineering, pp. 297–308, May 2016.

X. Yang, D. Lo, X. Xia, Y. Zhang and J. Sun, “Deep learning for just-in-time defect prediction,” 2015 IEEE International Conference on Software Quality, Reliability and Security, Vancouver, BC, Canada, 2015, pp. 17–26.

H. Tong, B. Liu, and S. Wang, “Software defect prediction using stacked denoising autoencoders and two-stage ensemble learning,” Information and Software Technology, vol. 96, pp. 94–111, Apr. 2018.

X. Huo, Y. Yang, M. Li and D. -C. Zhan, “Learning semantic features for software defect prediction by code comments embedding,” 2018 IEEE International Conference on Data Mining (ICDM), Singapore, 2018, pp. 1049–1054.

H. K. Dam et al., “A deep tree-based model for software defect prediction,” arXiv, Feb. 2018.

K. Shi, Y. Lu, G. Liu, Z. Wei, and J. Chang, “MPT‐embedding: An unsupervised representation learning of code for software defect prediction,” Journal of Software Evolution and Process, vol. 33, no. 4, Dec. 2020.

T. Hoang, H. J. Kang, D. Lo, and J. Lawall, “CC2Vec: Distributed representations of code changes,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering, 2020, pp. 518–529.

T. Hoang, H. Khanh Dam, Y. Kamei, D. Lo and N. Ubayashi, “DeepJIT: An end-to-end deep learning framework for just-in-time defect prediction,” 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), Montreal, QC, Canada, 2019, pp. 34–45.

C. Pornprasit and C. K. Tantithamthavorn, “JITLine: A simpler, better, faster, finer-grained just-in-time defect prediction,” in 2021 IEEE/ACM 18th International Conference on Mining Software Repositories, 2021, pp. 369–379.

X. Chen, H. Xia, W. Pei, C. Ni, and K. Liu, “Boosting multi-objective just-in-time software defect prediction by fusing expert metrics and semantic metrics,” Journal of Systems and Software, vol. 206, Dec. 2023.

X. Zhou, D. Han, and D. Lo, “Bridging expert knowledge with deep learning techniques for just-in-time defect prediction,” Empirical Software Engineering, vol. 30, 2025.

S. Matsumoto, Y. Kamei, A. Monden, K. Matsumoto, and M. Nakamura, “An analysis of developer metrics for fault prediction,” in Proceedings of the 6th International Conference on Predictive Models in Software Engineering, Sept. 2010, pp. 1–9.

C. Bird, N. Nagappan, B. Murphy, H. Gall, and P. Devanbu, “Don't touch my code! Examining the effects of ownership on software quality,” in Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of Software Engineering, Sept. 2011, pp. 4–14.

P. Ardimento, L. Aversano, M. L. Bernardi, M. Cimitile, and M. Iammarino, “Just-in-time software defect prediction using deep temporal convolutional networks,” Neural Computing and Applications, vol. 34, no. 5, pp. 3981–4001, Mar. 2022.

J. Eyolfson, L. Tan, and P. Lam, “Do time of day and developer experience affect commit bugginess?” in Proceedings of the 8th Working Conference on Mining Software Repositories, May 2011, pp. 153–162.

Published

2026-10-17