【技术实现步骤摘要】
一种基于深度森林网络的软件缺陷预测方法
本专利技术属于软件分析与测试领域,特别涉及一种基于深度森林网络的软件缺陷预测方法。
技术介绍
软件缺陷(softwaredefect)产生于开发人员的编码过程中,需求理解不正确、软件开发过程不合理或开发人员的经验不足,均有可能产生软件缺陷.而含有缺陷的软件在运行时可能会产生意料之外的结果或行为,严重的时候会给企业造成巨大的经济损失,甚至会威胁到人们的生命安全.在软件项目的开发生命周期中,检测出内在缺陷的时间越晚,修复该缺陷的代价也越高.尤其在软件发布后,检测和修复缺陷的代价将大幅度增加.因此,项目主管借助软件测试或代码审查等软件质量保障手段,希望能够在软件部署前尽可能多地检测出内在缺陷.但是,若关注所有的程序模块会消耗大量的人力物力,因此,项目主管希望能够预先识别出可能含有缺陷的程序模块,并对其分配足够的测试资源。在本专利技术作出之前,为了帮助软件开发人员尽可能地节省发现缺陷的成本,就需要尽可能地提高缺陷预测的精度,对于软件缺陷预测的研究主要集中在对于软件预测度量的构建和预测方法的设计。目前缺陷预测领域越来越多的利用机器学习 ...
【技术保护点】
一种基于深度森林网络的代码缺陷预测方法,其特征在于如下步骤:(1)挖掘代码历史仓库,抽取程序模块,对程序模块按照设定好的度量进行相关代码特征数据提取;(2)将步骤(1)代码特征进行多粒度扫描,筛选出与缺陷相关度高的代码特征;(3)利用步骤(2)中的缺陷特征构建多个随机森林和完全随机森林模型;(4)将步骤(3)的多个随机森林级联成缺陷预测网络;(5)对步骤(2)的缺陷特征向量按照设定比例进行随机切片,输入到步骤(4)中建立的缺陷预测网络进行训练,形成缺陷预测的分类器;(6)将步骤(5)切片剩余的数据输入到缺陷预测分类器中,与真实标记的数据进行对比,验证训练效果,根据结果调整训 ...
【技术特征摘要】
1.一种基于深度森林网络的代码缺陷预测方法,其特征在于如下步骤:(1)挖掘代码历史仓库,抽取程序模块,对程序模块按照设定好的度量进行相关代码特征数据提取;(2)将步骤(1)代码特征进行多粒度扫描,筛选出与缺陷相关度高的代码特征;(3)利用步骤(2)中的缺陷特征构建多个随机森林和完全随机森林模型;(4)将步骤...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。