[发明专利]一种增量代码扫描方法、装置、电子设备和存储介质在审
申请号: | 201911082285.7 | 申请日: | 2019-11-07 |
公开(公告)号: | CN112783751A | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 李雪;张杰;黄威;张娜;蔡学文 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京恒博知识产权代理有限公司 11528 | 代理人: | 范胜祥 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 增量 代码 扫描 方法 装置 电子设备 存储 介质 | ||
本发明公开了一种增量代码扫描方法、装置、电子设备和存储介质。所述方法包括:获取最近一次代码扫描的路径信息;将所述最近一次代码扫描的路径信息与本次代码扫描的路径信息进行对比,得到路径差异信息,根据所述路径差异信息确定增量代码文件;扫描所述增量代码文件,获取本次扫描的结果文件并保存。上述方案能够识别并划分出增量代码文件,然后对增量代码文件进行独立扫描,避免了对全部代码文件的重新扫描,从而提高了代码扫描效率,节省了大量的时间成本。
技术领域
本发明涉及静态代码扫描技术领域,具体涉及一种增量代码扫描方法、装置、电子设备和存储介质。
背景技术
在软件代码编写完成之后需要对代码进行扫描,一般称为静态代码扫描,经扫描初步检测代码是否存在缺陷或不规范之处。
现有的扫描任务确定后,需要对所有的代码进行扫描,然后保存数据。但对同一个任务来说,每次发起扫描的时候,可能只有个别的文件进行过的修改,如果对所有的代码都扫描一遍,会浪费很多时间,假如当前扫描任务很多,还会造成任务的排队现象。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种增量代码扫描方法、装置、电子设备和存储介质。
依据本发明的一个方面,提供了一种增量代码扫描方法,所述方法包括:
获取最近一次代码扫描的路径信息;
将所述最近一次代码扫描的路径信息与本次代码扫描的路径信息进行对比,得到路径差异信息,根据所述路径差异信息确定增量代码文件;
扫描所述增量代码文件,获取本次扫描的结果文件并保存。
可选的,所述方法还包括:
获取最近一次扫描的结果文件,将本次扫描和最近一次扫描的结果文件合并形成本次扫描的报告。
可选的,所述增量代码文件包括新增的代码文件和经修改的代码文件,所述新增的代码文件根据所述路径差异信息直接确定,所述经修改的代码文件根据代码修改日志或代码管理系统预置的检测插件确定。
可选的,所述扫描所述增量代码文件的扫描规则包括如下的一种或多种:
多语言扫描规则、代码行扫描规则、漏洞扫描规则、复杂度扫描规则、重复率扫描规则。
可选的,所述扫描所述增量代码文件还包括:
若扫描规则为多个,则并行运行各所述扫描规则,扫描的耗时为每个扫描引擎所需时间的最大值。
可选的,所述扫描所述增量代码文件还包括:
若存在预设的扫描规则,则根据预设的扫描规则进行扫描;
若不存在预设的扫描规则,则获取历史扫描偏好,根据所述历史扫描偏好进行扫描。
可选的,所述获取历史扫描偏好包括:
根据所述扫描日志的记载,获取历史扫描偏好。
依据本发明的另一个方面,提供了一种增量代码扫描装置,所述装置包括:
路径获取单元,适于获取最近一次代码扫描的路径信息;
增量代码确定单元,适于将所述最近一次代码扫描的路径信息与本次代码扫描的路径信息进行对比,得到路径差异信息,根据所述路径差异信息确定增量代码文件;
扫描单元,适于扫描所述增量代码文件,获取本次扫描的结果文件并保存。
可选的,所述装置还包括报告生成单元,适于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911082285.7/2.html,转载请声明来源钻瓜专利网。