一种Cppcheck增量静态代码扫描方法和系统技术方案

技术编号:44567523 阅读:22 留言:0更新日期:2025-03-11 14:25
一种Cppcheck增量静态代码扫描方法和系统。获取一次代码提交的代码变更和新增文件列表、代码变更的和新增的所有代码文件以及新旧版本代码差异文件;对代码变更文件列表内的代码文件进行Cppcheck代码扫描,生成旧版本xml报告;同时对代码变更的和新增的所有代码文件进行重命名,如被变更或新增代码文件include的文件为被重命名文件,对include代码行进行文件名变更,扫描后生成新版本xml报告;基于新旧版本代码差异文件进行解析,获得新旧版本所有变更的同一代码文件的行号变化;基于代码文件的命名变更信息,对新版本xml报告进行校对;基于行号变化信息对旧版本xml报告进行校对;基于python xml相关库对新旧版本xml报告进行分析,提取新增及变更的代码引入的代码缺陷和问题,生成xml增量扫描报告。本发明专利技术提高了代码文件扫描效率和准确率。

【技术实现步骤摘要】

本专利技术属于代码扫描领域,特别涉及一种cppcheck增量静态代码扫描方法和系统。


技术介绍

1、软件质量直接关系到软件的可信度和用户满意度。确保软件质量是软件开发的重要关注点之一,良好的代码质量控制是软件质量控制中的重要活动。代码静态检查作为一种静态代码分析方法,能够在不运行代码的方式下,通过词法分析、语法分析以及数据流分析等技术对程序代码进行扫描发现其中存在的潜在问题和缺陷,通过检测报告等形式给出问题所在。软件的质量形成于软件的整个开发过程,在编写代码节点发现代码缺陷,可以大幅降低修复缺陷的成本。代码提交时的静态代码扫描能有效保障代码库代码质量,提前发现潜在问题和缺陷,避免问题发现过晚造成过高的修复成本,减少后期的调试和修复工作。

2、cppcheck是一种c/c++代码缺陷静态检查工具,不同于c/c++编译器及其它分析工具,cppcheck作为一种补充检查,对产品的源代码执行严格的逻辑检查。只检查编译器无法检查到的bug,不检查语法错误。执行的检查包括了自动变量检查、数组的边界检查、class类检查、过期和废弃函数的检查、异常内存和释放本文档来自技高网...

【技术保护点】

1.一种Cppcheck增量静态代码扫描方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的Cppcheck增量静态代码扫描方法,其特征在于,所述获取一次代码提交的提交信息,进一步包括:

3.根据权利要求2所述的Cppcheck增量静态代码扫描方法,其特征在于,所述对所述代码变更文件列表内的代码文件进行Cppcheck代码扫描,生成旧版本xml报告,进一步包括:

4.根据权利要求3所述的Cppcheck增量静态代码扫描方法,其特征在于,所述对代码变更的所有代码文件和新增的所有代码文件进行重命名,如被变更或新增代码文件include的文件为被重命名...

【技术特征摘要】

1.一种cppcheck增量静态代码扫描方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的cppcheck增量静态代码扫描方法,其特征在于,所述获取一次代码提交的提交信息,进一步包括:

3.根据权利要求2所述的cppcheck增量静态代码扫描方法,其特征在于,所述对所述代码变更文件列表内的代码文件进行cppcheck代码扫描,生成旧版本xml报告,进一步包括:

4.根据权利要求3所述的cppcheck增量静态代码扫描方法,其特征在于,所述对代码变更的所有代码文件和新增的所有代码文件进行重命名,如被变更或新增代码文件include的文件为被重命名文件,对include代码行进行文件名变更,生成新版本xml报告,进一步包括:

5.根据权利要求4所述的cppcheck增量静态代码扫描方法,其特征在于,所述基于新旧版本代码差异文件进行解析,获得新旧版本所有变更的...

【专利技术属性】
技术研发人员:李秀赵启翔杨斌袁海涛
申请(专利权)人:北京四方继保工程技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1