Leveraging Structural Properties of Source Code Graphs for Just-In-Time Bug Prediction
Md Nadim, Debajyoti Mondal, Chanchal K. Roy

TL;DR
This paper introduces a novel approach that uses structural properties of source code graphs to improve the accuracy of predicting buggy software commits during software evolution, demonstrating significant performance gains.
Contribution
It proposes a method to convert source code into graph representations and combines their structural features with traditional features to enhance bug prediction models.
Findings
Combining SCG features with conventional features improves bug prediction accuracy.
Statistically significant increase in F1 scores for bug prediction.
SCG features reflect source code style and structural properties affecting bug occurrence.
Abstract
The most common use of data visualization is to minimize the complexity for proper understanding. A graph is one of the most commonly used representations for understanding relational data. It produces a simplified representation of data that is challenging to comprehend if kept in a textual format. In this study, we propose a methodology to utilize the relational properties of source code in the form of a graph to identify Just-in-Time (JIT) bug prediction in software systems during different revisions of software evolution and maintenance. We presented a method to convert the source codes of commit patches to equivalent graph representations and named it Source Code Graph (SCG). To understand and compare multiple source code graphs, we extracted several structural properties of these graphs, such as the density, number of cycles, nodes, edges, etc. We then utilized the attribute…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Reliability and Analysis Research
