Home / Journals / CMC / Online First / doi:10.32604/cmc.2024.057695
Special Issues
Table of Content

Open Access

ARTICLE

Two-Phase Software Fault Localization Based on Relational Graph Convolutional Neural Networks

Xin Fan1,2, Zhenlei Fu1,2,*, Jian Shu1,2, Zuxiong Shen1,2, Yun Ge1,2
1 School of Software, Nanchang Hangkong University, Nanchang, 330063, China
2 Software Testing and Evaluation Center, Nanchang Hangkong University, Nanchang, 330063, China
* Corresponding Author: Zhenlei Fu. Email: email

Computers, Materials & Continua https://doi.org/10.32604/cmc.2024.057695

Received 25 August 2024; Accepted 14 November 2024; Published online 11 December 2024

Abstract

Spectrum-based fault localization (SBFL) generates a ranked list of suspicious elements by using the program execution spectrum, but the excessive number of elements ranked in parallel results in low localization accuracy. Most researchers consider intra-class dependencies to improve localization accuracy. However, some studies show that inter-class method call type faults account for more than 20%, which means such methods still have certain limitations. To solve the above problems, this paper proposes a two-phase software fault localization based on relational graph convolutional neural networks (Two-RGCNFL). Firstly, in Phase 1, the method call dependence graph (MCDG) of the program is constructed, the intra-class and inter-class dependencies in MCDG are extracted by using the relational graph convolutional neural network, and the classifier is used to identify the faulty methods. Then, the GraphSMOTE algorithm is improved to alleviate the impact of class imbalance on classification accuracy. Aiming at the problem of parallel ranking of element suspicious values in traditional SBFL technology, in Phase 2, Doc2Vec is used to learn static features, while spectrum information serves as dynamic features. A RankNet model based on siamese multi-layer perceptron is constructed to score and rank statements in the faulty method. This work conducts experiments on 5 real projects of Defects4J benchmark. Experimental results show that, compared with the traditional SBFL technique and two baseline methods, our approach improves the Top-1 accuracy by 262.86%, 29.59% and 53.01%, respectively, which verifies the effectiveness of Two-RGCNFL. Furthermore, this work verifies the importance of inter-class dependencies through ablation experiments.

Keywords

Software fault localization; graph neural network; RankNet; inter-class dependency; class imbalance
  • 78

    View

  • 16

    Download

  • 0

    Like

Share Link