[发明专利]一种代码检测方法、装置、设备及可读存储介质有效
申请号: | 202211549389.6 | 申请日: | 2022-12-05 |
公开(公告)号: | CN115757181B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 崇增;张益军;王金明 | 申请(专利权)人: | 飞狐信息技术(天津)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 卫三娟 |
地址: | 300280 天津市滨海新区经济开发区第*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 检测 方法 装置 设备 可读 存储 介质 | ||
1.一种代码检测方法,其特征在于,包括:
基于每一目标检测规则,检测待检测代码,获取每一所述目标检测规则的检测结果,所述目标检测规则的检测结果用于指示所述目标检测规则是否被触发,所述待检测代码为待检测项目的源代码;
将被触发至少一次的目标检测规则作为异常检测规则;
获取每一所述异常检测规则的自定义参数集合,所述异常检测规则的自定义参数集合至少包括问题类型、预设的重要度和修复时长,所述重要度指示所述异常检测规则被触发一次,导致所述待检测代码运行异常的严重程度;
获取每一问题类型的次数统计值,目标问题类型的次数统计值包括所述目标问题类型对应的所有异常检测规则被触发的总次数,所述目标问题类型为任意一个问题类型;
获取每一问题类型的重要度统计数据,所述目标问题类型的重要度统计数据包括每一重要度的数量,目标重要度的数量等于所述目标问题类型对应的所有异常检测规则中,目标重要度对应的所有异常检测规则被触发的总次数,所述目标重要度为任意一个重要度;
获取各个问题类型的修复参数,所述目标问题类型的修复参数等于所述目标问题类型对应的所有异常检测规则的修复时长;
依据各个问题类型的次数统计值、重要度统计数据、以及修复参数,获取各个预设的指标的指标等级;
判断所述待检测代码是否满足预设的控制条件,获取代码检测结果,所述代码检测结果用于指示所述待检测代码是否通过检测;所述控制条件包括:各个所述指标的指标等级均不低于对应的预设等级阈值、以及每一问题类型满足:统计值不大于对应的第一预设阈值,并且重要度统计数据中,各个重要度的数量均不大于对应的第二预设阈值;
若是,所述代码检测结果用于指示所述待检测代码通过检测;
若否,所述代码检测结果用于指示所述待检测代码未通过检测。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
部署自定义规则集合,所述自定义规则集合包括多条自定义检测规则;
对应部署每一所述自定义检测规则的自定义参数集合,所述自定义检测规则的自定义参数集合至少包括问题类型以及重要度;
对应部署每一所述自定义检测规则的页面描述代码,用于触发展示所述自定义检测规则的触发信息,所述触发信息至少基于所述自定义参数集合生成;
在所述获取每一所述目标检测规则的检测结果之前,还包括:
响应于接收到预设的检测指令,获取所述待检测代码和所述目标检测规则,所述目标检测规则包括从所述自定义规则集合中选择的至少一条自定义检测规则。
3.根据权利要求2所述的方法,其特征在于,所述基于每一目标检测规则,检测待检测代码,获取每一所述目标检测规则的检测结果,包括:
将所述待检测代码转换为抽象语法树;
调用所述目标检测规则对应的执行方法检测所述抽象语法树,得到所述目标检测规则的检测结果。
4.根据权利要求3所述的方法,其特征在于,在所述获取代码检测结果之后,还包括:
将所述代码检测结果记录到预设的结果数据库中,并与所述待检测项目关联;
响应于所述待检测项目的展示指令,展示所述代码检测结果、各个问题类型的次数统计值、重要度统计数据、以及修复参数。
5.根据权利要求4所述的方法,其特征在于,在所述获取代码检测结果之后,还包括:
响应于所述目标问题类型的展示指令,调用所述目标问题类型对应异常检测规则的页面描述代码,触发展示所述目标问题类型对应的各个异常检测规则的触发信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞狐信息技术(天津)有限公司,未经飞狐信息技术(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211549389.6/1.html,转载请声明来源钻瓜专利网。