[发明专利]一种代码检测方法、装置、设备及可读存储介质有效
申请号: | 202211549389.6 | 申请日: | 2022-12-05 |
公开(公告)号: | CN115757181B | 公开(公告)日: | 2023-05-16 |
发明(设计)人: | 崇增;张益军;王金明 | 申请(专利权)人: | 飞狐信息技术(天津)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 卫三娟 |
地址: | 300280 天津市滨海新区经济开发区第*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 检测 方法 装置 设备 可读 存储 介质 | ||
本申请公开了一种代码检测方法、装置、设备及可读存储介质,获取每一目标检测规则的检测结果,目标检测规则的检测结果用于指示目标检测规则是否被触发,获取每一异常检测规则的自定义参数集合,自定义参数集合至少包括名称和预设的重要度,依据预设的控制条件、每一异常检测规则的重要度和被触发的次数,获取代码检测结果。由于重要度指示异常检测规则被触发一次,导致待检测代码运行异常的严重程度,本方法综合考虑每一异常检测规则被触发一次导致待检测代码运行异常的严重程度、被触发的次数、以及问题类型,通过控制条件控制用于指示待检测代码是否通过,提高了代码检测的准确度和灵活性。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种代码检测方法、装置、设备及可读存储介质。
背景技术
随着业务的不断扩大,代码的质量在需求开发以及系统维护的过程中的重要性不断地提升,传统方法依据代码规则检测代码,识别并标识异常代码,从而降低代码在运行时出现问题的概率。但是,传统静态代码检测方法中仅通过检测固定的代码规则,预测代码是否存在运行错误,代码检测的全面性和灵活性均较低。
发明内容
本申请提供了一种代码检测方法、装置、设备及可读存储介质,如下:
一种代码检测方法,包括:
基于每一目标检测规则,检测待检测代码,获取每一所述目标检测规则的检测结果,所述目标检测规则的检测结果用于指示所述目标检测规则是否被触发,所述待检测代码为待检测项目的源代码;
将被触发至少一次的目标检测规则作为异常检测规则;
获取每一所述异常检测规则的自定义参数集合,所述异常检测规则的自定义参数集合至少包括问题类型和预设的重要度,所述重要度指示所述异常检测规则被触发一次,导致所述待检测代码运行异常的严重程度;
依据预设的控制条件、每一所述异常检测规则的自定义参数集合和被触发的次数,获取代码检测结果,所述代码检测结果用于指示所述待检测代码是否通过检测。
可选地,代码检测方法还包括:
部署自定义规则集合,所述自定义规则集合包括多条自定义检测规则;
对应部署每一所述自定义检测规则的自定义参数集合,所述自定义检测规则的自定义参数集合至少包括问题类型以及重要度;
对应部署每一所述自定义检测规则的页面描述代码,用于触发展示所述自定义检测规则的触发信息,所述触发信息至少基于所述自定义参数集合生成。
在所述获取每一目标检测规则的检测结果之前,还包括:
响应于接收到预设的检测指令,获取所述待检测代码和所述目标检测规则,所述目标检测规则包括从所述自定义规则集合中选择的至少一条自定义检测规则。
可选地,基于每一目标检测规则,检测待检测代码,获取每一所述目标检测规则的检测结果,包括:
将所述待检测代码转换为抽象语法树;
调用所述目标检测规则对应的执行方法检测所述抽象语法树,得到所述目标检测规则的检测结果。
可选地,依据预设的控制条件、每一所述异常检测规则的自定义参数集合和被触发的次数,获取代码检测结果,包括:
获取每一问题类型的次数统计值,目标问题类型的次数统计值包括所述目标问题类型对应的所有异常检测规则被触发的总次数,所述目标问题类型为任意一个问题类型;
获取每一问题类型的重要度统计数据,所述目标问题类型的重要度统计数据包括每一重要度的数量,目标重要度的数量等于所述目标问题类型对应的所有异常检测规则中,目标重要度对应的所有异常检测规则被触发的总次数,所述目标重要度为任意一个重要度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞狐信息技术(天津)有限公司,未经飞狐信息技术(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211549389.6/2.html,转载请声明来源钻瓜专利网。