基于卷积神经网络的代价敏感软件缺陷预测模型
基于机器学习的软件缺陷预测方法受到软件工程领域学者们的普遍关注,通过缺陷预测模型可一定程度地分析软件中的缺陷分布,以此帮助软件质量保障团队发现软件中潜在的错误并合理分配测试资源.然而,现有多数的缺陷预测方法是基于代码行数、模块依赖程度、栈引用深度等人工提取的软件特征进行缺陷预测的.此类方法未考虑到软件源码中潜在的语义特征,可能导致预测效果不理想.为了解决以上问题,文中利用卷积神经网络挖掘源码中隐含的语义特征,并将其用于软件缺陷预测的任务中.在源码语义特征的有效挖掘方面,采用三层卷积神经网络提取数据抽象特征.在数据不平衡处理方面,采用代价敏感的方法,即分别给予正例与反例不同的权重,平衡正反例对模型训练的影响.在实验数据集方面,选取了开源缺陷标注数据集PROMISE中8个软件中的多个版本,合计19个项目.在模型性能比较方面,将提出的基于卷积神经网络的代价敏感软件缺陷预测模型(Cost-Sensitive Three-Layer Convo-lutional Neural Network,CS-TCNN)分别与逻辑回归、深度置信网络等模型进行比较,评估指标为在缺陷预测研究领域中普遍使用的AUC和MCC.实验结果充分说明了CS-TCNN能更有效地提取程序代码中的语义特征,进而提高软件缺陷预测模型的预测效果.
软件缺陷预测、卷积神经网络、语义特征挖掘、代价敏感
46
TP311(计算技术、计算机技术)
自然科学基金61370103;广州产学研基金201802020006;中山产学研基金2017A1014
2019-12-13(万方平台首次上网日期,不代表论文的发表时间)
共5页
156-160