[发明专利]代码缺陷预警方法及装置在审
申请号: | 201710940334.0 | 申请日: | 2017-09-30 |
公开(公告)号: | CN109597748A | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 焦惠达 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 特征数据 预警 分类器 分类结果 检测 测试过程 处理软件 代码提交 历史代码 预设条件 测试 记录 预防 | ||
1.一种代码缺陷预警方法,其特征在于,包括:
接收待检测代码;
提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
2.根据权利要求1所述的代码缺陷预警方法,其特征在于,在所述接收待检测代码前,还包括:
根据版本管理系统的历史代码提交记录和预设算法训练分类器。
3.根据权利要求2所述的代码缺陷预警方法,其特征在于,所述根据版本管理系统的历史代码提交记录训练分类器,包括:
根据版本管理系统的历史提交记录,提取每个非bug-fix提交的特征数据,所述特征数据包括作者、分支、文件、修改总行数;
确定每个bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所有提交的特征数据训练分类器。
4.根据权利要求1所述的代码缺陷预警方法,其特征在于,在所述对所述待检测代码进行缺陷预警后,还包括:
在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
5.根据权利要求4所述的代码缺陷预警方法,其特征在于,所述在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练,包括:
在检测到本次接收的待检测代码为bug-fix提交时,确定本次bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所述添加bug标记的所述特征数据训练分类器。
6.一种代码缺陷预警装置,其特征在于,包括:
接收模块,用于接收待检测代码;
提取输入模块,用于提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
预警模块,用于获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
7.根据权利要求6所述的代码缺陷预警装置,其特征在于,还包括:
分类器训练模块,用于根据版本管理系统的历史代码提交记录和预设算法训练分类器。
8.根据权利要求6所述的代码缺陷预警装置,其特征在于,还包括:
分类器优化模块,用于在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至5中任意一项所述的代码缺陷预警方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的代码缺陷预警方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710940334.0/1.html,转载请声明来源钻瓜专利网。