基于机器学习的软件运行缺陷检测方法研究
2021-06-27吕静贤吴子辰王晨飞
电子设计工程 2021年12期
吕静贤,韩 维,吴子辰,王晨飞,徐 胤
(1.国家电网有限公司客户服务中心信息运维中心,天津 300300;2.国网江苏省电力有限公司信息通信分公司,江苏 南京 210009)
针对软件运行缺陷检测方法的研究,传统方法采用一种基于秩和检验的算法,该算法首先收集训练集和检测样本集的特征信息,分析出不同特征间的差异,并在开放源码系统中进行实验,由分布特征得到的相似性权重与不对称误分类的代价密切相关[1]。通过效应值A-统计检验来评价检测程度,评价显著性检验采用Wilcoxon 秩和检验方法,由检验结果可知,该方法检测变量在目标工程上的分布差异较大,无法达到较高的检测精度[2]。使用静态软件缺陷检测方法时,先根据不同实际应用场景设定软件模块的粒度,并从已标记的软件历史仓库中提取出相应的实例;其次,基于相关信息提取并分析软件开发过程和软件源代码的特征,设计一种能有效反映软件缺陷属性的缺陷测量仪,利用缺陷测量仪设计一组软件,并构造一组软件缺陷检测数据;最后,利用预处理方法构造缺陷检测数据集,并在应用阶段进行测试。
针对不同的应用场景,上述方法受数据集噪声影响较大,检测精度较低。为解决传统方法中存在的问题,提出了一种基于机器学习的软件运行缺陷检测方法。
1 软件运行缺陷联合表示分类
软件运行缺陷联合表示分类需先对无缺陷训练数据集进行采样,以构建类别平衡训练数据[3];……
登录APP查看全文
