Software bug triaging is a crucial software maintenance activity that involves assigning reported bugs to appropriate developers and determining their priority. Manual bug triaging is often time-consuming, error-prone, and inefficient for large-scale software projects due to the increasing volume of bug reports. This paper presents an intelligent bug triaging framework that integrates CodeBERT, Graph Attention Networks (GAT), FAISS, XGBoost, and SHAP to automate bug analysis and improve decision-making. Initially, bug reports are preprocessed and transformed into contextual semantic embeddings using CodeBERT. FAISS performs efficient similarity search to retrieve related historical bug reports, while GAT captures relationships among bug reports, developers, and software components to enhance developer recommendation. The extracted semantic and graph-based features are combined and supplied to an XGBoost classifier for bug priority prediction. To improve model transparency, SHAP is employed to explain the contribution of individual features to each prediction. The proposed framework is deployed through a Streamlit-based web application that provides an interactive interface for bug analysis and recommendation. By combining semantic understanding, graph learning, similarity retrieval, and explainable artificial intelligence, the proposed system improves the efficiency, accuracy, and interpretability of automated bug triaging, making it suitable for large-scale software maintenance environments.
Introduction
This paper presents an Intelligent Bug Triaging Framework that automates software bug analysis, developer recommendation, and bug priority prediction using advanced artificial intelligence techniques. Bug triaging is a critical software maintenance activity, but manual assignment of bugs is time-consuming, inconsistent, and inefficient, especially in large-scale software projects with thousands of daily bug reports.
Traditional automated bug triaging methods rely on machine learning algorithms such as Naïve Bayes, Support Vector Machines (SVM), Decision Trees, and Random Forests with handcrafted features like Bag-of-Words (BoW) and TF-IDF. While these approaches reduce manual effort, they often fail to capture the contextual meaning of bug reports and perform poorly on complex software engineering terminology.
To address these limitations, the proposed framework integrates multiple modern AI technologies into a unified architecture:
CodeBERT for contextual semantic feature extraction from bug reports.
FAISS (Facebook AI Similarity Search) for efficient retrieval of semantically similar historical bug reports.
Graph Attention Networks (GATs) to model relationships among developers, bug reports, and software components, enabling better developer recommendation.
XGBoost for accurate bug priority prediction using combined semantic and graph-based features.
SHAP (SHapley Additive Explanations) to provide interpretable explanations of model predictions.
Streamlit for deploying the complete framework as an interactive web application.
The methodology consists of six major stages:
Data preprocessing to clean and normalize bug reports.
Semantic feature extraction using CodeBERT to generate contextual embeddings.
Similar bug retrieval using FAISS to identify related historical bug reports.
Graph construction and learning using GAT to capture developer expertise and collaboration patterns.
Bug priority prediction using XGBoost with fused semantic and graph features.
Explainable AI using SHAP to show feature contributions and improve decision transparency.
The proposed system architecture includes dedicated modules for preprocessing, semantic embedding generation, similarity retrieval, graph learning, priority prediction, explainability, and Streamlit-based deployment. The complete workflow collects bug reports, preprocesses them, generates CodeBERT embeddings, retrieves similar bugs with FAISS, learns developer relationships through GAT, predicts bug priority using XGBoost, explains predictions with SHAP, and presents recommendations via a user-friendly web interface.
Compared with existing approaches, the framework offers several advantages:
Captures contextual semantics more effectively through CodeBERT.
Retrieves similar historical bugs efficiently using FAISS.
Learns developer expertise and collaboration using Graph Attention Networks.
Provides accurate bug priority prediction with XGBoost.
Enhances transparency through SHAP explanations.
Enables scalable, real-time deployment using Streamlit.
Reduces manual effort, accelerates bug assignment, and supports faster, more reliable software maintenance.
Conclusion
This paper presented an Intelligent Bug Triaging Framework that integrates CodeBERT, FAISS, Graph Attention Networks (GAT), XGBoost, and SHAP to automate software bug analysis and developer recommendation. The proposed framework combines semantic feature extraction, graph-based learning, similarity retrieval, bug priority prediction, and explainable artificial intelligence within a unified architecture.
CodeBERT generates contextual embeddings that effectively capture the semantic meaning of bug reports, while FAISS enables efficient retrieval of similar historical issues from large software repositories. The Graph Attention Network models relationships among developers, bug reports, and software components, improving developer recommendation accuracy. Furthermore, the XGBoost classifier provides reliable bug priority prediction, and SHAP enhances transparency by explaining the contribution of individual features to each prediction. The Streamlit-based web application demonstrates the practical applicability of the proposed framework in supporting intelligent software maintenance.
References
[1] F. Long and M. Rinard, \"Automatic Patch Generation by Learning Correct Code,\" Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2016.
[2] T. Mikolov, K. Chen, G. Corrado, and J. Dean, \"Efficient Estimation of Word Representations in Vector Space,\" International Conference on Learning Representations (ICLR), 2013.
[3] J. Devlin, M. W. Chang, K. Lee, and K. Toutanova, \"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,\" Proceedings of NAACL-HLT, 2019.
[4] Z. Feng, D. Guo, D. Tang et al., \"CodeBERT: A Pre-Trained Model for Programming and Natural Languages,\" Proceedings of EMNLP: Findings, 2020.
[5] P. Velickovic, G. Cucurull, A. Casanova, A. Romero, P. Lio, and Y. Bengio, \"Graph Attention Networks,\" International Conference on Learning Representations (ICLR), 2018.
[6] J. Johnson, M. Douze, and H. Jégou, \"Billion-scale Similarity Search with GPUs,\" IEEE Transactions on Big Data, vol. 7, no. 3, pp. 535–547, 2021.
[7] T. Chen and C. Guestrin, \"XGBoost: A Scalable Tree Boosting System,\" Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016.
[8] S. M. Lundberg and S. Lee, \"A Unified Approach to Interpreting Model Predictions,\" Advances in Neural Information Processing Systems (NeurIPS), 2017.
[9] F. Pedregosa et al., \"Scikit-learn: Machine Learning in Python,\" Journal of Machine Learning Research, vol. 12, pp. 2825–2830, 2011.
[10] A. Paszke et al., \"PyTorch: An Imperative Style, High-Performance Deep Learning Library,\" Advances in Neural Information Processing Systems (NeurIPS), 2019.
[11] M. Fey and J. E. Lenssen, \"Fast Graph Representation Learning with PyTorch Geometric,\" ICLR Workshop on Representation Learning on Graphs, 2019.
[12] T. Akiba, S. Sano, T. Yanase, T. Ohta, and M. Koyama, \"Optuna: A Next-generation Hyperparameter Optimization Framework,\" Proceedings of ACM SIGKDD, 2019.
[13] Streamlit Inc., \"Streamlit: The Fastest Way to Build Data Applications,\" 2024.
[14] Mozilla Foundation, \"Bugzilla Issue Tracking System,\" Available: https://bugzilla.mozilla.org.
[15] Apache Software Foundation, \"Apache Hadoop Issue Repository,\" Available: https://issues.apache.org.