A deep tree-based model for software defect prediction
arXiv:1802.00921
Abstract
Defects are common in software systems and can potentially cause various problems to software users. Different methods have been developed to quickly predict the most likely locations of defects in large code bases. Most of them focus on designing features (e.g. complexity metrics) that correlate with potentially defective code. Those approaches however do not sufficiently capture the syntax and different levels of semantics of source code, an important capability for building accurate prediction models. In this paper, we develop a novel prediction model which is capable of automatically learning features for representing source code and using them for defect prediction. Our prediction system is built upon the powerful deep learning, tree-structured Long Short Term Memory network which directly matches with the Abstract Syntax Tree representation of source code. An evaluation on two datasets, one from open source projects contributed by Samsung and the other from the public PROMISE repository, demonstrates the effectiveness of our approach for both within-project and cross-project predictions.
References in corpus (1)
Cited by in corpus (8)
- VulDeePecker: A Deep Learning-Based System for Multiclass Vulnerability Detection
- ProGraML: Graph-based Deep Learning for Program Optimization and Analysis
- In Nomine Function: Naming Functions in Stripped Binaries with Neural Networks
- Machine Learning Techniques for Software Quality Assurance: A Survey
- Learning Semantic Vector Representations of Source Code via a Siamese Neural Network
- Deep Data Flow Analysis
- PSCS: A Path-based Neural Model for Semantic Code Search
- Relational dynamic memory networks