Aging-Related Bugs Prediction Via Convolutional Neural Network
Qinchen Liu, Jianwen Xiang, Bin Xu, Dongdong Zhao, Wenhua Hu, Jian Wang · 2020
Software aging refers to the phenomenon of system performance degradation or system crash in long-term running systems, which is mainly caused by Aging-Related Bugs (ARBs). To predict Aging-Related Bugs, previous studies usually focused on manually designing features, which extracted from the programs, and utilized different machine learning algorithms to detect those buggy codes. However, these traditional features often failed to distinguish programs' semantic differences.To explore deeply programs' semantics and make full use of these information, in this paper, we proposed a method, which based on deep learning method to automatically learn programs' semantic features of source codes. Specifically, we utilized Convolutional Neural Network (CNN) to automatically generate more distinguished features which based on the Abstract Syntax Trees (ASTs) of programs. Meanwhile, we combined these features with conventional aging-related metrics for more accurate ARB prediction. Finally, we evaluated our model on Linux and MySQL datasets, the experiment results showed that our approach was better than the baselines. The improvement can be achieved up to 6.9% on Linux, and 24.1% on MySQL in terms of balance, compared to traditional Naive Bayes method. And compared to Naive Bayes with logarithmic transformation, the improvement is 1% and 4.7% respectively.