天天看点

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

作者:Gitee
Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量
源代码作为软件的最初形态,是软件开发最为重要的组成部分。一个软件的质量如何,很大程度上是由代码质量决定的,其安全缺陷也是导致软件漏洞的直接原因。随着软件的不断迭代和更新,代码量也不断增加,这就需要我们对代码进行有效的管理和优化,让代码质量、代码安全、代码规范得到切实保障。而静态代码扫描工具就是解决这个问题的最佳利器。

问题发现得早,代价就越小

软件专家卡珀斯·琼斯曾说过:“85%的软件缺陷发生在编码阶段,后端测试修复缺陷的成本是开发阶段40倍”。业界实践与质量左移的理念也表明,在软件生命周期中缺陷发现越早、修复越早,缺陷的影响和修复代价就越小。

就目前的企业研发活动来看,为了避免带来巨大业务损失,一般会用到下列代码保障手段:

  1. 在项目上线之前进行 Code Review,提前发现 BUG,解决问题;
  2. 通过线上实时监控,出现问题时执行预案,及时修复,保障代码。

从上述两种代码管理方式可以看出,如果在上线后修复代码,只能减少损失规模,若是想要真正降低或避免企业资产损失还得靠人工 Code Review 在项目上线之前发现问题。然而,一方面 Code Review 需要额外的人工介入,且其质量参差不齐,无法得到保障;另一方面,高质量的 Code Review 也会花费较多时间,成本较高。

那么有没有一种两全其美的方法,以一种低成本的方式,自动发现代码中隐藏的风险,从而保障代码质量?答案是:代码扫描!

在研发过程中,代码扫描工具的真正价值在于它可以帮助开发人员及时发现代码中的潜在安全漏洞和缺陷,例如内存泄漏、空指针引用、缓冲区溢出等等,不仅避免应用程序崩溃或被黑客攻击,还提高软件的质量。同时,代码扫描也可以帮助开发人员优化代码结构,提高代码的可读性和可维护性,从而降低软件开发和维护成本。

从代码编译状态来看,代码扫描又分为静态扫描和动态扫描。静态代码扫描工具一般作为插件存在于 DevOps 研发体系中,是 DevOps 中质量左移的重要实现方式。

目前,国内首屈一指的研发效能平台 Gitee 旗舰版,已经为超过 26 万家企业提供了高效的静态代码扫描服务,帮助他们提升代码质量,降低开发成本,而其中的奥秘便是静态代码扫描引擎—— Gitee Scan。

Gitee Scan :DevOps 质量左移的重要载体

作为 DevOps 研发运营一体化中代码扫描、质量左移环节的重要载体,Gitee Scan 面向企业内研发生产过程针对代码质量左移场景的诉求,采用独创代码执行链分析技术(已申请专利),结合平台海量代码缺陷数据,融合各开源工具优势,自研代码分析引擎,提供分布式、高并发的代码扫描能力。

同时,Gitee Scan 作为平台级产品,即提供灵活的权限定义,也打通 Gitee Code 实现数据隔离,除了提供基本的代码缺陷、安全、规范三种维度扫描外,还提供重复代码、代码注释率、超长函数、圈复杂度等不同代码可维护性层面的扫描。以下是 Gitee Scan 的详细功能解读:

代码扫描无需人工介入,全自动化分析

Gitee Scan 不仅支持多维度触发,支持本地插件插件的扫描,支持流水线、代码库触发的扫描,还贯穿整个研发过程全周期的扫描介入,帮助开发者在研发环节,准入环节,测试环节全自动化分析源代码,无需人工介入,并可和代码管理、流水线深度融合,在测试之前及时定位问题根源,保证研发质量,提高团队工作效率,降低软件开发测试成本,解决目前大多数企业中存在的产品不稳定、测试成本高、交付拖延等问题。

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

Gitee Scan 独创专利已达业界领先水平

Gitee Scan 采用独创代码执行链分析技术(已申请专利),结合平台海量代码缺陷数据,融合各开源工具优势,开发系列自研代码分析引擎 BCA,提供分布式、高并发代码扫描能力。除缺陷检查外,目前,该引擎已支持 BCA – Kotlin 、BCA-Java、BCA-OC、BCA-Cobol、BCA-SQL、BCA-C/C++ 等 19 门主流语言编码风格检查,符合公司编码规范要求,让团队成员保持统一的编码风格。

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

在不损失检出的情况下,Gitee Scan 的误报率**基本小于 5%**。值得一提的是,业界较好的代码扫描工具误报率标准为「 小于 10 %」,由此可见,Gitee Scan 已达业界领先水平。

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

从多维度扫描管理代码质量

Gitee Scan 支持多维度扫描,除支持代码缺陷、代码安全、编码规范等规则类扫描,同时提供代码度量、代码可维护性、代码重复块、开源风险等维度扫描;通过分析代码的重复块、重复率检测当前代码的复用情况,并提供代码质量报告。

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

配置灵活,满足个性化定制

当系统提供大量内置规则的情况下,由于各项目扫描情况不同,质量要求的不同,需要定制化扫描设置,因此 Gitee Scan 提供灵活的扫描方案设置,提供包括规则集的组合以及自定义规则集的方式实现跨语言维度的自定义扫描设置。

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量
Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

丰富全面的扫描结果报表

Gitee Scan 基于每次扫描提供全面的扫描报告,并支持报告的 PDF 导出。同时还会在在每次扫描的概览中统计问题增长趋势以及问题的分类,方便用户快速查看并了解代码扫描概况。

Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量
Gitee Scan 独创专利自研引擎,更低成本帮助企业提升代码质量

总的来说

Gitee Scan 通过集成自研静态代码扫描引擎、开源扫描工具、商业扫描工具实现全方位无需编译的静态代码扫描,作为 Devops 中质量左移的重要实现方式,大幅度的降低开发以及修复的成本,能够帮助开发人减轻开发和修复的负担,提高开发效率。

除了众多开源项目外,Gitee Scan 已经为国家海关总署、招商银行、光大银行、之江实验室等企事业单位和机构提供了服务。如果你也想和他们一起享受功能强大且高效的静态代码扫描服务,可以复制后面的链接(链接:https://gitee.cn/ultimate)或联系我们(地址:https://gitee.cn/contact-us),将 Gitee Scan 部署于企业的私有服务器上,助力企业有效提升研发效能。

继续阅读