天天看點

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 部署于企業的私有伺服器上,助力企業有效提升研發效能。

繼續閱讀