PatchNet: Hierarchical Deep Learning-Based Stable Patch Identification for the Linux Kernel
arXiv:1911.03576 · doi:10.1109/TSE.2019.2952614
Abstract
Linux kernel stable versions serve the needs of users who value stability of the kernel over new features. The quality of such stable versions depends on the initiative of kernel developers and maintainers to propagate bug fixing patches to the stable versions. Thus, it is desirable to consider to what extent this process can be automated. A previous approach relies on words from commit messages and a small set of manually constructed code features. This approach, however, shows only moderate accuracy. In this paper, we investigate whether deep learning can provide a more accurate solution. We propose PatchNet, a hierarchical deep learning-based approach capable of automatically extracting features from commit messages and commit code and using them to identify stable patches. PatchNet contains a deep hierarchical structure that mirrors the hierarchical and sequential structure of commit code, making it distinctive from the existing deep learning models on source code. Experiments on 82,403 recent Linux patches confirm the superiority of PatchNet against various state-of-the-art baselines, including the one recently-adopted by Linux kernel maintainers.
References in corpus (6)
- Improving neural networks by preventing co-adaptation of feature detectors
- Natural Language Processing (almost) from Scratch
- Recurrent Models of Visual Attention
- Stochastic Pooling for Regularization of Deep Convolutional Neural Networks
- A Convolutional Neural Network for Modelling Sentences
- The Impact of Class Rebalancing Techniques on the Performance and Interpretation of Defect Prediction Models