[發(fā)明專利]基于差異代碼分析的分支檢測方法、裝置及存儲介質在審
| 申請?zhí)枺?/td> | 201811288652.4 | 申請日: | 2018-10-31 |
| 公開(公告)號: | CN111124872A | 公開(公告)日: | 2020-05-08 |
| 發(fā)明(設計)人: | 沐陽;毛劍;林淼 | 申請(專利權)人: | 上海嗶哩嗶哩科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京英特普羅知識產(chǎn)權代理有限公司 11015 | 代理人: | 程超 |
| 地址: | 200000 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 差異 代碼 分析 分支 檢測 方法 裝置 存儲 介質 | ||
1.一種基于差異代碼分析的分支檢測方法,其特征在于,包括以下步驟:
響應于針對代碼分支的差異檢測指令,獲取代碼倉庫的根目錄下所有構建單元之間的依賴關系;
獲取所述構建單元中的差異單元,并根據(jù)所述依賴關系獲取與所述差異單元相關聯(lián)的依賴單元,所述差異單元表征所述代碼分支中程序文件發(fā)生變化的構建單元;
根據(jù)發(fā)生變化的類型對所述差異單元進行分類,得到至少一個分類單元;
分別對所述分類單元和所述依賴單元執(zhí)行不同的檢測操作。
2.根據(jù)權利要求1所述的分支檢測方法,其特征在于,所述獲取代碼倉庫的根目錄下所有構建單元之間的依賴關系的步驟包括:
獲取引用了當前構建單元的一個或多個其它構建單元,將所述一個或多個其它構建單元作為與所述當前構建單元相關聯(lián)的依賴單元;
記錄所述當前構建單元和所述依賴單元之間的索引關系;
遍歷代碼倉庫的根目錄下所有構建單元,獲取并記錄每個構建單元和與所述每個構建單元相關聯(lián)的依賴單元之間的索引關系。
3.根據(jù)權利要求2所述的分支檢測方法,其特征在于,所述獲取代碼倉庫的根目錄下所有構建單元之間的依賴關系的步驟還包括:
根據(jù)所述索引關系生成依賴圖,所述依賴圖表征所述構建單元和與所述構建單元相關聯(lián)的依賴單元之間的向量引用關系。
4.根據(jù)權利要求1所述的分支檢測方法,其特征在于,所述分類單元包括新增單元、修改單元、刪除單元中的一項或多項。
5.根據(jù)權利要求4所述的分支檢測方法,其特征在于,所述分別對所述分類單元和所述依賴單元執(zhí)行不同的檢測操作的步驟包括:
對所述新增單元和所述修改單元執(zhí)行第一類操作;
對所述刪除單元執(zhí)行第二類操作;
對所述依賴單元執(zhí)行第三類操作。
6.根據(jù)權利要求5所述的分支檢測方法,其特征在于,所述第一類操作包括:對所述新增單元和所述修改單元依次執(zhí)行編譯、檢查和測試,并同時展示所述新增單元和所述修改單元的文件列表;
所述第二類操作包括:檢查所述刪除單元是否可編譯,若是,繼續(xù)對所述刪除單元執(zhí)行第一類操作;若否,僅展示所述刪除單元的文件列表;
所述第三類操作包括,對所述依賴單元執(zhí)行編譯,同時展示所述依賴單元的文件列表。
7.一種基于差異代碼分析的分支檢測裝置,其特征在于,包括:
依賴關系獲取模塊,適用于響應針對代碼分支的差異檢測指令,獲取代碼倉庫的根目錄下所有構建單元之間的依賴關系;
差異單元獲取模塊,適用于獲取所述構建單元中的差異單元,并根據(jù)所述依賴關系獲取與所述差異單元相關聯(lián)的依賴單元,所述差異單元表征所述代碼分支中程序文件發(fā)生變化的構建單元;
分類模塊,適用于根據(jù)發(fā)生變化的類型對所述差異單元進行分類,得到至少一個分類單元;
檢測模塊,適用于分別對所述分類單元和所述依賴單元執(zhí)行不同的檢測操作。
8.根據(jù)權利要求7所述的分支檢測裝置,其特征在于,所述依賴關系獲取包括:
依賴單元獲取模塊,適用于獲取引用了當前構建單元的一個或多個其它構建單元,將所述一個或多個其它構建單元作為與所述當前構建單元相關聯(lián)的依賴單元;
索引記錄模塊,適用于記錄所述當前構建單元和所述依賴單元之間的索引關系;以及
遍歷代碼倉庫的根目錄下所有構建單元,獲取并記錄每個構建單元和與所述每個構建單元相關聯(lián)的依賴單元之間的索引關系。
9.根據(jù)權利要求8所述的分支檢測方法,其特征在于,所述依賴關系獲取模塊還包括:
依賴圖生成模塊,適用于根據(jù)所述索引關系生成依賴圖,所述依賴圖表征所述構建單元和與所述構建單元相關聯(lián)的依賴單元之間的向量引用關系。
10.根據(jù)權利要求7所述的分支檢測方法,其特征在于,所述分類單元包括新增單元、修改單元、刪除單元中的一項或多項。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海嗶哩嗶哩科技有限公司,未經(jīng)上海嗶哩嗶哩科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811288652.4/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。





