Title
Software visualization and deep transfer learning for effective software defect prediction
Abstract
ABSTRACTSoftware defect prediction aims to automatically locate defective code modules to better focus testing resources and human effort. Typically, software defect prediction pipelines are comprised of two parts: the first extracts program features, like abstract syntax trees, by using external tools, and the second applies machine learning-based classification models to those features in order to predict defective modules. Since such approaches depend on specific feature extraction tools, machine learning classifiers have to be custom-tailored to effectively build most accurate models. To bridge the gap between deep learning and defect prediction, we propose an end-to-end framework which can directly get prediction results for programs without utilizing feature-extraction tools. To that end, we first visualize programs as images, apply the self-attention mechanism to extract image features, use transfer learning to reduce the difference in sample distributions between projects, and finally feed the image files into a pre-trained, deep learning model for defect prediction. Experiments with 10 open source projects from the PROMISE dataset show that our method can improve cross-project and within-project defect prediction. Our code and data pointers are available at https://zenodo.org/record/3373409#.XV0Oy5Mza35.
Year
DOI
Venue
2020
10.1145/3377811.3380389
International Conference on Software Engineering
Keywords
DocType
ISSN
Cross-project defect prediction,within-project defect prediction,deep transfer learning,self-attention,software visualization
Conference
0270-5257
ISBN
Citations 
PageRank 
978-1-7281-6519-6
0
0.34
References 
Authors
41
7
Name
Order
Citations
PageRank
Jinyin Chen17018.77
Keke Hu200.34
Yue Yu319519.93
Zhuangzhi Chen400.34
Qi Xuan518726.85
Yi Liu652.11
Vladimir Filkov7150375.32