[发明专利]代码缺陷预警方法及装置在审
申请号: | 201710940334.0 | 申请日: | 2017-09-30 |
公开(公告)号: | CN109597748A | 公开(公告)日: | 2019-04-09 |
发明(设计)人: | 焦惠达 | 申请(专利权)人: | 北京国双科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100086 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 特征数据 预警 分类器 分类结果 检测 测试过程 处理软件 代码提交 历史代码 预设条件 测试 记录 预防 | ||
本发明公开了一种代码缺陷预警方法及装置,能够接收待检测代码,提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到,获取所述分类器对所述特征数据的分类结果,在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。该代码缺陷预警方法及装置能够实现在代码提交测试前对代码进行缺陷预警,便于相关技术人员及时预防处理软件代码在测试过程中出现的缺陷故障。
技术领域
本发明涉及软件测试技术领域,更具体的说,是涉及一种代码缺陷预警方法及装置。
背景技术
软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。对软件进行测试,也即对软件版本管理系统中的代码进行测试检测。
代码缺陷(bug)都是在测试过程中被检测出来的。这样,每对版本管理系统中的代码进行一次修改,都需要对新的代码进行测试,从而找到潜在的代码缺陷。现有技术中并不存在在代码提交测试前进行代码缺陷预警的技术。
发明内容
有鉴于此,本发明提供了一种代码缺陷预警方法及装置,以实现在代码提交测试前进行代码缺陷预警。
一种代码缺陷预警方法,包括:
接收待检测代码;
提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
可选的,在所述接收待检测代码前,还包括:
根据版本管理系统的历史代码提交记录和预设算法训练分类器。
可选的,所述根据版本管理系统的历史代码提交记录训练分类器,包括:
根据版本管理系统的历史提交记录,提取每个非bug-fix提交的特征数据,所述特征数据包括作者、分支、文件、修改总行数;
确定每个bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所有提交的特征数据训练分类器。
可选的,在所述对所述待检测代码进行缺陷预警后,还包括:
在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
可选的,所述在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练,包括:
在检测到本次接收的待检测代码为bug-fix提交时,确定本次bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所述添加bug标记的所述特征数据训练分类器。
一种代码缺陷预警装置,包括:
接收模块,用于接收待检测代码;
提取输入模块,用于提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
预警模块,用于获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710940334.0/2.html,转载请声明来源钻瓜专利网。