1.广电行业自动化代码分析方法,其特征在于,具体包括如下步骤:
101)动态检测步骤:广电行业项目的开发人员将含有代码分析任务脚本文件的本地代码提交至远程公共代码仓库;代码一经提交至仓库,由ci/cd工具动态检测到代码更新情况,并拉取相应广电行业项目的各子系统的源代码至指定代码分析仓库目录下;
102)信息检测步骤:通过脚本文件获取并记录步骤101)提交的本次更新的相关信息,包含通用信息和项目相关信息;
通用信息包括本次代码提交的人员信息、时间信息;项目相关信息包括本次提交代码的项目名称、代码分支信息、日志记录;
103)代码扫描步骤:步骤102)中的代码同步至远程公共代码仓库后,ci/cd工具会自动触发流水线进行代码扫描任务;
代码扫描模块接收到扫描任务启动指令后,则自动从代码扫描模块获取针对广电行业业务规范定制的代码扫描规则;代码扫描模块获取到相应的代码扫描规则后,对远程公共代码仓库路径下的工程进行源代码扫描;
104)代码分析步骤:步骤103)的代码扫描模块完成扫描任务后即调起代码分析模块,依据代码分析模块中的分析规则对上一步中扫描的源代码进行漏洞、bug、代码规范性、安全热定内容的逐项代码分析,并生成分析日志文件;
105)报告步骤:步骤104)的代码分析结束后,分析报告模块针对广电行业规范要求自定义质量阈值生成个性化、可视化的扫描报告,报告包括代码扫描的覆盖率情况、代码中bug的数量比例、代码中漏洞的数量比例、代码的多余重复率、代码不规范的实例数量比例、单个类/接口/方法中的行数、是否写了注释、代码的认知复杂度、自动生成的问题统计图表、问题代码的相应解决意见、建议;
报告生成后,以单个报告级别的rbac用户角色权限设计方式分离权限,而后通过hook的方式将报告发送给开发人员,开发人员根据报告内容修复源代码中的缺陷,即可再次提交代码重复步骤101),直至修复所有缺陷。
2.根据权利要求1所述的广电行业自动化代码分析方法,其特征在于:步骤103)中的代码扫描规则包含以下五部分:
(1)代码漏洞:是指代码中可能存在会对系统安全、性能方面产生重大影响的问题;
(2)bug:是指代码中可能存在会对业务逻辑产生影响的语法异常问题;
(3)规范性:是指代码中存在的语法不符合业界通用的语言规范问题;
(4)安全热点:是指代码中的一些安全敏感问题;
(5)sql语句:是指sql语句的使用规范问题。