mlsanityData to 7 Oct 2026

Leveraging Structural Properties of Source Code Graphs for Just-In-Time Bug Prediction

arXiv 2201.10137 ↗First posted 25 Jan 2022cs.SE cs.LGcited by 2

Not on the map. Why?

Abstract (arXiv)

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 values of those SCGs to visualize and detect buggy software commits. We process more than 246K software commits from 12 subject systems in this investigation. Our investigation on these 12 open-source software projects written in C++ and Java programming languages shows that if we combine the features from SCG with conventional features used in similar studies, we will get the increased performance of Machine Learning (ML) based buggy commit detection models. We also find the increase of F1~Scores in predicting buggy and non-buggy commits statistically significant using the Wilcoxon Signed Rank Test. Since SCG-based feature values represent the style or structural properties of source code updates or changes in the software system, it suggests the importance of careful maintenance of source code style or structure for keeping a software system bug-free.

Key facts. Cited by 2 papers in the map (data through 7 Oct 2026). Builds on 7 of its 78 references that are in the map. First posted on arXiv 25 Jan 2022.

Builds on

7 of 78 references.

References · 7

  1. 2013Distributed Representations of Words and Phrases and their Compositionalitycited by 3,462
  2. 2017Representation Learning on Graphs: Methods and Applicationscited by 456
  3. 2017Learning to Represent Programs with Graphscited by 219
  4. 2018DeepBugs: A Learning Approach to Name-based Bug Detectioncited by 65
  5. 2015On the "Naturalness" of Buggy Codecited by 35
  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
  7. 2020Githru: Visual Analytics for Understanding Software Development History Through Git Metadata Analysiscited by 4

Built on by

Cited by year

Citing papers per year: 2024: 1; 2025: 1.

2 papers.