CHEN Xiang
School of Computer Science and Technology, Nantong University, Nantong 226019, China;State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, ChinaGU Qing
State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, ChinaLIU Wang-Shu
State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, ChinaLIU Shu-Long
State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, ChinaNI Chao
State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, ChinaNational Natural Science Foundation of China (61202006, 61373012, 61202030); Open Project Program of the State Key Laboratory for Novel Software Technology (Nanjing University) (KFKT2012B29)
Static software defect prediction is an active research topic in the domain of software engineering data mining. The phases of the study include designing novel code or process metrics to characterize the faults in the program modules, constructing software defect prediction model based on the training data gathered after mining software historical repositories, using the trained model to predict potential defect-proneness of program modules. The research on software defect prediction can optimize the allocation of testing resources and improve the quality of software. This paper offers a systematic survey of existing research achievements of the domestic and foreign researchers in recent years. First, a research framework is proposed and three key factors (i.e., metrics, model construction approaches, and issues in datasets) influencing the performance of defect prediction are identified. Next, existing research achievements in these three key factors are discussed in sequence. Then, the existing achievements on a special defect prediction issues (i.e., code change based defect prediction) are summarized. Finally a perspective of the future work in this research area is discussed.
陈翔,顾庆,刘望舒,刘树龙,倪超.静态软件缺陷预测方法研究.软件学报,2016,27(1):1-25
Copy