[发明专利]一种代码风险检查方法、装置及设备在审
申请号: | 202110289057.8 | 申请日: | 2021-03-18 |
公开(公告)号: | CN112783513A | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 赵若愚;沈巍毅;瞿伟 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 风险 检查 方法 装置 设备 | ||
1.一种代码风险检查方法,其特征在于,包括:
获取目标代码;
基于错误信息集对所述目标代码进行检测,获得检测数据;所述检测数据表示所述目标代码是否存在风险;
在所述检测数据不存在风险的情况下,基于过程控制模型确定是否对所述目标代码执行破坏测试;其中,所述过程控制模型基于资源信息与破坏测试案例生成时间、破坏测试案例运行判断时间、代码错误率建立;
在确定对所述目标代码执行破坏测试的情况下,基于所述目标代码对应的运行节点信息和执行路径信息,生成破坏测试案例;
执行所述破坏测试案例,获得与所述目标代码对应的执行结果;
基于所述执行结果确定所述目标代码是否存在风险。
2.根据权利要求1所述的方法,其特征在于,所述错误信息集通过下述方式获得:
获取应用代码库中包括的业务代码;
对所述业务代码进行结构化转化,获得所述业务代码对应的有向图;其中,所述有向图中包括所述业务代码的运行节点信息;所述运行节点信息包括参数信息、代码结构信息;
利用广度优先算法遍历所述有向图,获得所述业务代码对应的执行路径信息;
基于所述运行节点信息和所述执行路径信息,生成破坏测试案例;
执行所述破坏测试案例,获取错误信息;所述错误信息包括执行所述破坏测试案例过程中出现错误时对应的执行路径信息、代码结构信息、参数信息;
对所述错误信息进行预处理,获得错误信息集。
3.根据权利要求2所述的方法,其特征在于,所述对所述错误信息进行预处理,获得错误信息集,包括:
将执行路径信息相同的错误信息合并;
从合并后的错误信息集中剔除继发性错误信息,获得错误信息集。
4.根据权利要求1所述的方法,其特征在于,所述基于错误信息集对所述目标代码进行检测前,包括:
对所述目标代码进行结构化转化,获得所述目标代码对应的有向图;其中,所述有向图中包括所述目标代码的运行节点信息;
利用广度优先算法遍历所述有向图,获得所述目标代码对应的执行路径信息。
5.根据权利要求4所述的方法,其特征在于,所述基于错误信息集对所述目标代码进行检测,包括:
检测所述错误信息集中是否存在与所述目标代码的代码结构信息相匹配的第一错误信息集;
确定存在时,检测所述第一错误信息集中是否存在与所述目标代码对应的执行路径信息相匹配的第二错误信息集;
确定存在时,检测所述第二错误信息集中是否存在与所述目标代码对应的参数信息相匹配的第三错误信息集。
6.根据权利要求1所述的方法,其特征在于,所述基于所述目标代码对应的运行节点信息和执行路径信息,生成破坏测试案例,包括:
利用PowerMockito模拟所述目标代码中对外依赖信息;
基于所述运行节点信息,设计破坏测试输入;
基于所述执行路径信息和所述破坏测试输入,利用反射工具及代码模板生成工具生成测试案例。
7.根据权利要求1所述的方法,其特征在于,所述基于所述执行结果确定所述目标代码是否存在风险,包括:
判断所述执行结果中是否存在错误信息;
确定存在时,基于所述错误信息更新所述错误信息集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110289057.8/1.html,转载请声明来源钻瓜专利网。