Adopting Pre-and Post-processing Weight Mechanisms to Improve Deep Learning-based Fault Localization

Software debugging is complex and challenging task for developers and testers. To increase the active debugging performance, several fault localization techniques have been widely proposed. Deep learning techniques have recently shown the promising potentials of many kinds of neural network architectures and applied them to fields of fault localization. In practice, it is known that the hyper-parameters of deep learning model are not easy to locate for every program or dataset. Therefore, hidden information of coverage data may not be extracted accurately and incur performance degradation. In addition, as program scale becomes larger, do not directly use whole program as input to deep learning model by removing some unnecessary statements of program is very essential and useful. In this paper, we present an effective preprocessing and post processing weight method for deep learning-based fault localization to identify the location of faulty statement. The proposed methods are evaluated on well-known two open source linux utility programs (gzip and grep). The experimental results demonstrate that our proposed methods significantly improve fault localization performance compared to the past methods.