Fault Localization Based on Deep Neural Network and Execution Slicing
Abstract
Aiming at the problems that the existing fault localization techniques cannot meet the requirements for the effectiveness of locating faults, and the effectiveness of the method is sensitive to the number of sample data, this paper proposes a fault localization method that combines deep neural network (DNN) and execution slicing. In this method, coverage data and test case results are used as input to train the deep neural network model iteratively until convergence. Then inputs virtual test cases to obtain the suspiciousness of each execution statement. To further reduce the number of statements to be checked and improve the effectiveness of the method, we propose a new execution slice metric function, which can select the key execution slices by putting the suspiciousness into the formula. Taking the intersection of the key execution slices and the suspiciousness table to get the final suspicion table in descending order. After theoretical analysis and experimental verification, the effectiveness of our approach in this paper improves 6.09%–28.35% compared with Tarantula, 3.32%–11.42% compared with the BPNN-based technique, and 1.19%–9.67% compared with the DNN-based technique.