[發明專利]用于持續集成過程中的靜態代碼質量分析方法及計算設備在審
| 申請號: | 202010127984.5 | 申請日: | 2020-02-28 |
| 公開(公告)號: | CN111414302A | 公開(公告)日: | 2020-07-14 |
| 發明(設計)人: | 張俊;梁美英 | 申請(專利權)人: | 天津車之家數據信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京思睿峰知識產權代理有限公司 11396 | 代理人: | 孟玉潔;謝建云 |
| 地址: | 300467 天津市生態城動漫中路126號動漫*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 持續 集成 過程 中的 靜態 代碼 質量 分析 方法 計算 設備 | ||
本發明公開了一種用于持續集成過程中的靜態代碼質量分析方法,在計算設備中執行,該方法包括以下步驟:當開發者將分支代碼推送至代碼倉庫時,獲取該分支代碼所屬的項目分支信息,將項目分支信息作為待掃描任務加入掃描隊列;對于掃描隊列中的每一個待掃描任務,對該待掃描任務所對應的分支代碼進行質量分析,并存儲質量分析結果;將分支代碼的質量分析結果即時反饋給相應的開發者。本發明一并公開了相應的計算設備。
技術領域
本發明涉及代碼質量檢測技術領域,尤其涉及一種用于持續集成過程中的靜態代碼質量分析方法及計算設備。
背景技術
持續集成是一種軟件開發實踐,即團隊開發成員盡可能早、盡可能快地將各自開發的代碼集成起來,每次集成都通過自動化的構建(包括靜態代碼掃描、編譯、自動化測試、發布等)來驗證,從而盡早地發現集成錯誤。
軟件靜態代碼掃描是軟件質量檢測的一部分,其指的是當開發者完成源代碼后,對源代碼進行掃描,找出代碼中存在的語義缺陷、安全漏洞等問題。統計顯示,在整個軟件開發生命周期中,30%~70%的代碼邏輯設計缺陷和編碼缺陷是可以通過靜態代碼掃描來發現和修復的。
在軟件開發過程中,團隊開發成員通常采用Git(分布式版本控制系統)來管理項目代碼,每個項目包括master、develop等多個分支。開發者在本地環境進行分支代碼的編寫,然后將代碼的變動部分推送至遠程Git服務器,以便將更新后的代碼同步給團隊其他成員。
如果開發者將分支代碼推送至Git服務器后,能夠即時收到本次更新的代碼的質量分析結果,將有利于開發者及時對代碼問題進行排查和修復,從而大大提高整個持續集成過程的質量和效率。
發明內容
為此,本發明提供一種用于持續集成過程中的靜態代碼質量分析方法及計算設備,以力圖解決或至少緩解上面存在的問題。
根據本發明的第一個方面,提供一種用于持續集成過程中的靜態代碼分析方法,在計算設備中執行,包括步驟:當開發者將分支代碼推送至代碼倉庫時,獲取所述分支代碼所屬的項目分支信息,將所述項目分支信息作為待掃描任務加入掃描隊列;對于所述掃描隊列中的每一個待掃描任務,對該待掃描任務所對應的分支代碼進行質量分析,并存儲質量分析結果;將分支代碼的質量分析結果即時反饋給相應的開發者。
可選地,在根據本發明的靜態代碼分析方法中,項目分支信息包括:項目名稱、分支名稱、開發者名稱、開發者聯系方式、項目地址、項目版本號中的至少一種。
可選地,在根據本發明的靜態代碼分析方法中,將所述項目分支信息作為待掃描任務加入掃描隊列的步驟包括:判斷所述分支代碼所在的分支是否位于分支白名單中,若否,則將相應的項目分支信息作為待掃描任務加入掃描隊列。
可選地,在根據本發明的靜態代碼分析方法中,對于所述掃描隊列中的每一個待掃描任務,對該待掃描任務所對應的分支代碼進行質量分析的步驟包括:當所述掃描隊列中的待掃描任務的數量小于等于預設的最大并發數量時,創建多個進程,每個進程對應于一個待掃描任務,所述多個進程并行地對相應的分支代碼進行質量分析;當所述掃描隊列中的待掃描任務的數量大于所述最大并發數量時,創建最大并發數量個進程,所述最大并發數量個進程按照待掃描任務被加入掃描隊列的順序,并行地對待掃描任務所對應的分支代碼進行質量分析。
可選地,在根據本發明的靜態代碼分析方法中,對待掃描任務所對應的分支代碼進行質量分析的步驟包括:確定所述分支代碼的語言類型;根據所述語言類型,將所述待掃描任務的項目分支信息組裝成掃描命令;執行所述掃描命令,根據所述語言類型所對應的分析規則來對所述分支代碼進行質量分析。
可選地,在根據本發明的靜態代碼分析方法中,根據所述分支代碼所在的項目文件夾的特征來確定所述分支代碼的語言類型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津車之家數據信息技術有限公司,未經天津車之家數據信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010127984.5/2.html,轉載請聲明來源鉆瓜專利網。





