Graph-Based Machine Learning Improves Just-in-Time Defect Prediction
Not on the map. Why?
Abstract (arXiv)
The increasing complexity of today's software requires the contribution of thousands of developers. This complex collaboration structure makes developers more likely to introduce defect-prone changes that lead to software faults. Determining when these defect-prone changes are introduced has proven challenging, and using traditional machine learning (ML) methods to make these determinations seems to have reached a plateau. In this work, we build contribution graphs consisting of developers and source files to capture the nuanced complexity of changes required to build software. By leveraging these contribution graphs, our research shows the potential of using graph-based ML to improve Just-In-Time (JIT) defect prediction. We hypothesize that features extracted from the contribution graphs may be better predictors of defect-prone changes than intrinsic features derived from software characteristics. We corroborate our hypothesis using graph-based ML for classifying edges that represent defect-prone changes. This new framing of the JIT defect prediction problem leads to remarkably better results. We test our approach on 14 open-source projects and show that our best model can predict whether or not a code change will lead to a defect with an F1 score as high as 77.55% and a Matthews correlation coefficient (MCC) as high as 53.16%. This represents a 152% higher F1 score and a 3% higher MCC over the state-of-the-art JIT defect prediction. We describe limitations, open challenges, and how this method can be used for operational JIT defect prediction.
Key facts. Cited by 2 papers in the map (data through 14 Oct 2026). Builds on 12 of its 77 references that are in the map. First posted on arXiv 11 Oct 2021.
Builds on
12 of 77 references.
References · 12
- 2017Inductive Representation Learning on Large Graphscited by 6,320
- 2016XGBoost: A Scalable Tree Boosting Systemcited by 5,166
- 2016node2vec: Scalable Feature Learning for Networkscited by 1,918
- 2014DeepWalk: Online Learning of Social Representationscited by 1,547
- 2017Representation Learning on Graphs: Methods and Applicationscited by 457
- 2020Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlationcited by 425
- 2016Imbalanced-learn: A Python Toolbox to Tackle the Curse of Imbalanced Datasets in Machine Learningcited by 195
- 2017Graph Embedding Techniques, Applications, and Performance: A Surveycited by 188
- 2018The Impact of Class Rebalancing Techniques on the Performance and Interpretation of Defect Prediction Modelscited by 29
- 2019A Graph-Based Machine Learning Approach for Bot Detectioncited by 6
- 2019SZZ Unleashed: An Open Implementation of the SZZ Algorithm -- Featuring Example Usage in a Study of Just-in-Time Bug Prediction for the Jenkins Projectcited by 5
- 2021The impact of using biased performance metrics on software defect prediction researchcited by 4
Built on by
Citing papers per year: 2024: 2.
2 papers.