Software Fault Localization Using Deep Learning Techniques
摘要
Software fault localization is a critical task aimed at finding the faulty statements in the program. Traditional techniques like Spectral-Based Fault Localization (SBFL) and Mutation-Based Fault Localization (MBFL) face limitations in accuracy and scalability. In recent years, deep learning techniques have shown promise in enhancing fault localization performance. In this paper, we have proposed a deep learning based stacking approach for better fault localization by combining the strengths of Artificial Neural Networks (ANNs), Convolutional Neural Networks (CNNs), and the Transformer architecture. The model uses information like program spectrum data, including statement coverage and test outcomes, to compute suspiciousness scores for ranking faulty statements. A meta-model (ANNs) combines predictions from base models using weighted outputs, while Borda Count aggregation refines the final ranking of faulty statements. The proposed model is evaluated on three software programs, demonstrating superior EXAM scores compared to individual standalone models as well as some spectrum based fault localization techniques.