基于深度学习的软件缺陷预测模型①
2021-01-22邵培南
计算机系统应用 2021年1期
陈 凯,邵培南
(中国电子科技集团第三十二研究所,上海 201808)
1 引言
随着现代软件的不断发展,软件可靠性已经成为评价软件的关键因素.软件规模的不断扩展和功能的日益增强,软件复杂度不断上升,软件缺陷出现的概率也不断上升,从而导致软件的失败.为了帮助开发人员和测试人员及时找到软件缺陷,软件缺陷预测已经成为软件工程领域、数据挖掘领域的研究方向之一.软件缺陷预测技术可以在一定程度上预测软件中是否存在着缺陷,以此帮助相关团队快速了解软件的整体情况和质量,制定相关策略测试和改善软件,提高软件的可靠性和稳定性.
基于此,许多研究人员前赴后继潜心研究软件缺陷预测技术并尝试通过机器学习的方法来检测软件中是否存在着缺陷.传统软件缺陷预测[1]是以手工获取软件度量特征的基础进行分类学习,而特征选择的方法直接影响软件缺陷预测的准确性和稳定性.而在以往的软件缺陷预测研究中,通常使用静态软件度量作为代码的特征,静态软件度量[1]主要包括以下几种方法:
(1)代码度量
代码度量是最直接、应用最普遍的度量方式.通过对源代码相关指标的简单计数得到度量值.度量包括总行数、代码行数目、注释行数目、空白行数目和代码及注释行总数目等,通过对总行数、代码行数、注释行数等不同的处理方式,度量结果就会不同.
(2)McCabe 度量
McCabe 度量是一种基于程序流程图的复……
登录APP查看全文
