Leveraging structural properties of source code graphs for just-in-time bug prediction

被引:0
|
作者
Md Nadim
Debajyoti Mondal
Chanchal K. Roy
机构
[1] University of Saskatchewan,
来源
关键词
Source code visualization; Graph representation; Graph attribute; Machine learning models; Feature selection; Classification;
D O I
暂无
中图分类号
学科分类号
摘要
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 246 K 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.
引用
收藏
相关论文
共 50 条
  • [1] Leveraging structural properties of source code graphs for just-in-time bug prediction
    Nadim, Md
    Mondal, Debajyoti
    Roy, Chanchal K.
    arXiv, 2022,
  • [2] Leveraging structural properties of source code graphs for just-in-time bug prediction
    Nadim, Md
    Mondal, Debajyoti
    Roy, Chanchal K.
    AUTOMATED SOFTWARE ENGINEERING, 2022, 29 (01)
  • [3] Explainable Just-In-Time Bug Prediction: Are We There Yet?
    Aleithan, Reem
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2021), 2021, : 129 - 131
  • [4] JITGNN: A deep graph neural network framework for Just-In-Time bug prediction
    Keshavarz, Hossein
    Rodriguez-Perez, Gema
    JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 210
  • [5] An exploratory study on just-in-time multi-programming-language bug prediction
    Li, Zengyang
    Ji, Jiabao
    Liang, Peng
    Mo, Ran
    Liu, Hui
    INFORMATION AND SOFTWARE TECHNOLOGY, 2024, 175
  • [6] Deep Just-In-Time Inconsistency Detection Between Comments and Source Code
    Panthaplackel, Sheena
    Li, Junyi Jessy
    Gligoric, Milos
    Mooney, Raymond J.
    THIRTY-FIFTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THIRTY-THIRD CONFERENCE ON INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE AND THE ELEVENTH SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2021, 35 : 427 - 435
  • [7] Just-in-time code duplicates extraction
    AlOmar, Eman Abdullah
    Ivanov, Anton
    Kurbatova, Zarina
    Golubev, Yaroslav
    Mkaouer, Mohamed Wiem
    Ouni, Ali
    Bryksin, Timofey
    Nguyen, Le
    Kini, Amit
    Thakur, Aditya
    INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 158
  • [8] Reusing Just-in-Time Compiled Code
    Mehta, Meetesh Kalpesh
    Krynski, Sebastian
    Gualandi, Hugo Musso
    Thakur, Manas
    Vitek, Jan
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA): : 1176 - 1197
  • [9] Cross-Project Just-in-Time Bug Prediction for Mobile Apps: An Empirical Assessment
    Catolino, Gemma
    Di Nucci, Dario
    Ferrucci, Filomena
    2019 IEEE/ACM 6TH INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS (MOBILESOFT 2019), 2019, : 99 - 110
  • [10] Static source code metrics and static analysis warnings for fine-grained just-in-time defect prediction
    Trautsch, Alexander
    Herbold, Steffen
    Grabowski, Jens
    2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020), 2020, : 127 - 138