[发明专利]一种基于缺陷报告分析的缺陷源代码定位方法有效
申请号: | 201610543653.3 | 申请日: | 2016-07-11 |
公开(公告)号: | CN105930277B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 黎铭;霍轩;周志华 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 李玉平 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种基于缺陷报告分析的缺陷源代码定位方法,首先获得新的待检查缺陷报告;如果不存在缺陷定位模型,建立缺陷定位模型。建立缺陷定位模型:获取大量历史缺陷报告、源代码和缺陷定位标记,构造训练集合;初始化缺陷定位模型;利用当前模型,提取训练集合缺陷报告和源代码的统一特征;计算当前模型的缺陷定位训练误差;若缺陷定位模型的训练误差低于预设阈值,模型训练完成,否则更新缺陷定位模型权重参数,继续训练。利用模型提取待检查的缺陷报告和源代码的统一特征并利用统一特征定位包含缺陷的源代码模块;输出定位到的缺陷源代码模块;若还有缺陷报告尚未检查,继续获取并分析新的待检查缺陷报告,否则缺陷定位过程结束。 | ||
搜索关键词: | 一种 基于 缺陷 报告 分析 源代码 定位 方法 | ||
【主权项】:
1.一种基于缺陷报告分析的缺陷源代码定位方法,其特征在于,包括如下步骤:步骤(1)获得新的待检查缺陷报告;步骤(2)判断是否已存在训练完成的缺陷定位模型,如果不存在,转入步骤(3),建立缺陷定位模型;如果存在,转入步骤(9);步骤(3)获取历史缺陷报告、源代码和缺陷定位标记,构造训练集合;步骤(4)初始化缺陷定位模型;步骤(5)利用当前缺陷定位模型,提取训练集合缺陷报告和源代码的统一特征;步骤(6)利用提取的统一特征,计算当前模型的缺陷定位训练误差;步骤(7)若当前模型的训练误差低于预设阈值,模型训练完成,转入步骤(9),否则转入步骤(8);步骤(8)更新缺陷定位模型权重参数,转入步骤(5)继续训练模型;步骤(9)利用缺陷定位模型,提取待检查的缺陷报告和源代码统一特征;步骤(10)利用统一特征定位包含缺陷的源代码模块;步骤(11)输出定位到的缺陷源代码模块,将缺陷情况反馈给模块开发者;步骤(12)若还有缺陷报告尚未检查,转步骤(1),否则缺陷定位过程结束;在接收 到新的待检查缺陷报告后,首先利用基于自然语言的卷积神经网络模型提取缺陷报告的中层特征,同时利用基于程序语言的卷积神经网络提取对应源代码的中层特征,之后利用深层卷积网络融合两种中层特征,最终得到进行缺陷定位的统一特征;训练误差的计算公式如下:w是目标函数更新模型参数,函数为平方损失函数,yi,j为对于缺陷报告ri和源代码cj的缺陷定位情况标注,yi,j=+1表示代码cj是缺陷报告ri相关的缺陷代码,yi,j=‑1表示代码cj不是缺陷报告ri相关缺陷代码,costn表示定位到无关代码的代价,costp是未成功定位一个相关缺陷代码的代价,costn,costp和λ是人工预设参数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610543653.3/,转载请声明来源钻瓜专利网。
- 上一篇:具有可交换的电源/通信模块的读取器
- 下一篇:移动终端文件内存显示方法