1. An Approach to Semantic and Structural Features Learning for Software Defect Prediction
- Author
-
Haitao Xiao, Huixin Li, Cheng Zeng, Peng He, and Shi Meilong
- Subjects
Source code ,Article Subject ,Computer science ,General Mathematics ,media_common.quotation_subject ,02 engineering and technology ,Security token ,Machine learning ,computer.software_genre ,Convolutional neural network ,Software ,Abstract syntax ,0202 electrical engineering, electronic engineering, information engineering ,QA1-939 ,media_common ,business.industry ,General Engineering ,020207 software engineering ,Complex network ,Engineering (General). Civil engineering (General) ,Software bug ,020201 artificial intelligence & image processing ,Artificial intelligence ,TA1-2040 ,business ,Feature learning ,computer ,Mathematics - Abstract
Research on software defect prediction has achieved great success at modeling predictors. To build more accurate predictors, a number of hand-crafted features are proposed, such as static code features, process features, and social network features. Few models, however, consider the semantic and structural features of programs. Understanding the context information of source code files could explain a lot about the cause of defects in software. In this paper, we leverage representation learning for semantic and structural features generation. Specifically, we first extract token vectors of code files based on the Abstract Syntax Trees (ASTs) and then feed the token vectors into Convolutional Neural Network (CNN) to automatically learn semantic features. Meanwhile, we also construct a complex network model based on the dependencies between code files, namely, software network (SN). After that, to learn the structural features, we apply the network embedding method to the resulting SN. Finally, we build a novel software defect prediction model based on the learned semantic and structural features (SDP-S2S). We evaluated our method on 6 projects collected from public PROMISE repositories. The results suggest that the contribution of structural features extracted from software network is prominent, and when combined with semantic features, the results seem to be better. In addition, compared with the traditional hand-crafted features, the F-measure values of SDP-S2S are generally increased, with a maximum growth rate of 99.5%. We also explore the parameter sensitivity in the learning process of semantic and structural features and provide guidance for the optimization of predictors.
- Published
- 2020