文件名称:基于深度学习的软件缺陷预测模型
文件大小:1.28MB
文件格式:PDF
更新时间:2024-05-26 05:43:34
软件缺陷预测 抽象语法树 卷积神经网络 随机过采样 丢弃法
为了提高软件的可靠性, 软件缺陷预测已经成为软件工程领域中一个重要的研究方向. 传统的软件缺陷预测方法主要是设计静态代码度量, 并用机器学习分类器来预测代码的缺陷概率. 但是, 静态代码度量未能充分考虑到潜藏在代码中的语义特征. 根据这种状况, 本文提出了一种基于深度卷积神经网络的软件缺陷预测模型. 首先, 从源代码的抽象语法树中选择合适的结点提取表征向量, 并构建字典将其映射为整数向量以方便输入到卷积神经网络. 然后, 基于GoogLeNet设计卷积神经网络, 利用卷积神经网络的深度挖掘数据的能力, 充分挖掘出特征中的语法语义特征. 另外, 模型使用了随机过采样的方法来处理数据分类不均衡问题, 并在网络中使用丢弃法来防止模型过拟合. 最后, 用Promise上的历史工程数据来测试模型, 并以AUC和F1-measure为指标与其他3种方法进行了比较, 实验结果显示本文提出的模型在软件缺陷预测性能上得到了一定的提升.