【技术实现步骤摘要】
一种基于卷积神经网络的软件缺陷预测方法
本专利技术涉及软件工程中的软件分析及缺陷预测领域,特别涉及一种基于卷积神经网络的软件缺陷预测方法。
技术介绍
软件中潜在的和未知的缺陷将严重影响软件的质量,因此软件分析及缺陷预测技术在软件质量保障任务中起着重要的作用。如果可以及早地发现软件缺陷,这将有助于软件团队了解当前项目的质量状态,进而合理分配测试资源。然而对项目中所有代码单元的手动审查是不切实际的,因此,越来越多的软件工程研究和实践人员开始高度关注基于机器学习的软件缺陷预测技术,并尝试使用多种机器学习方法来检测软件中可能有缺陷的模块和文件。基于机器学习的软件缺陷预测方法,首先从软件项目的源文件中提取代码特征,其主要包括基于操作符和操作数的Halstead特征,基于依赖性的McCabe特征,基于面向对象程序的CK特征和基于代码变化历史的Change特征等。这些特征主要利用的是软件分析学者们提炼的手动特征。进一步地,软件缺陷预测方法使用机器学习算法对历史的缺陷数据进行有监督学习得到分类模型,即在对历史数据进行手动特征提取的基础上,运用如支持向量机、随机森林、逻辑回归等基分 ...
【技术保护点】
1.一种基于卷积神经网络的软件缺陷预测方法,其特征在于,包括以下步骤:1)解析软件项目中的各文件源代码,得到各文件的AST Token向量,形成AST Token向量集合;2)在整数和Token之间建立映射,将步骤1)得到的AST Token向量集合中的向量转换成卷积神经网络输入所需要的数值向量;3)利用少数类别数据过采样技术,对步骤2)得到的数值向量集合数据进行分类不均衡问题的处理,最终所得的结果即为均衡的数据集;4)在步骤3)中经过分类不均衡问题处理的数值向量集合的基础上,构建卷积神经网络,提炼出能够表达代码语义的特征向量;5)将步骤4)中卷积神经网络学习的特征向量与基 ...
【技术特征摘要】
1.一种基于卷积神经网络的软件缺陷预测方法,其特征在于,包括以下步骤:1)解析软件项目中的各文件源代码,得到各文件的ASTToken向量,形成ASTToken向量集合;2)在整数和Token之间建立映射,将步骤1)得到的ASTToken向量集合中的向量转换成卷积神经网络输入所需要的数值向量;3)利用少数类别数据过采样技术,对步骤2)得到的数值向量集合数据进行分类不均衡问题的处理,最终所得的结果即为均衡的数据集;4)在步骤3)中经过分类不均衡问题处理的数值向量集合的基础上,构建卷积神经网络,提炼出能够表达代码语义的特征向量;5)将步骤4)中卷积神经网络学习的特征向量与基于操作符和操作数的Halstead特征,基于依赖性的McCabe特征,基于面向对象程序的CK特征合并,形成更加完整的静态代码特征向量,进而得到基于该特征向量的数据集合;6)将步骤5)中得到的数据集合输入到支持向量机分类器中,训练出基于卷积神经网络的软件缺陷预测模型。2.根据权利要求1所述基于卷积神经网络的软件缺陷预测方法,其特征在于,...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。