[發明專利]代碼缺陷預警方法及裝置在審
| 申請號: | 201710940334.0 | 申請日: | 2017-09-30 |
| 公開(公告)號: | CN109597748A | 公開(公告)日: | 2019-04-09 |
| 發明(設計)人: | 焦惠達 | 申請(專利權)人: | 北京國雙科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100086 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 特征數據 預警 分類器 分類結果 檢測 測試過程 處理軟件 代碼提交 歷史代碼 預設條件 測試 記錄 預防 | ||
1.一種代碼缺陷預警方法,其特征在于,包括:
接收待檢測代碼;
提取所述待檢測代碼中的特征數據,并將所述特征數據輸入預先訓練好的分類器,所述分類器根據歷史代碼提交記錄中的特征數據訓練得到;
獲取所述分類器對所述特征數據的分類結果,并在所述分類結果滿足預設條件時,對所述待檢測代碼進行缺陷預警。
2.根據權利要求1所述的代碼缺陷預警方法,其特征在于,在所述接收待檢測代碼前,還包括:
根據版本管理系統的歷史代碼提交記錄和預設算法訓練分類器。
3.根據權利要求2所述的代碼缺陷預警方法,其特征在于,所述根據版本管理系統的歷史代碼提交記錄訓練分類器,包括:
根據版本管理系統的歷史提交記錄,提取每個非bug-fix提交的特征數據,所述特征數據包括作者、分支、文件、修改總行數;
確定每個bug-fix提交修正的存在bug的提交對應的提交ID;
將與所述提交ID對應的非bug-fix提交的所述特征數據添加bug標記;
根據所有提交的特征數據訓練分類器。
4.根據權利要求1所述的代碼缺陷預警方法,其特征在于,在所述對所述待檢測代碼進行缺陷預警后,還包括:
在檢測到本次接收的待檢測代碼為bug-fix提交時,根據所述bug-fix提交的特征數據對所述分類器進行訓練。
5.根據權利要求4所述的代碼缺陷預警方法,其特征在于,所述在檢測到本次接收的待檢測代碼為bug-fix提交時,根據所述bug-fix提交的特征數據對所述分類器進行訓練,包括:
在檢測到本次接收的待檢測代碼為bug-fix提交時,確定本次bug-fix提交修正的存在bug的提交對應的提交ID;
將與所述提交ID對應的非bug-fix提交的所述特征數據添加bug標記;
根據所述添加bug標記的所述特征數據訓練分類器。
6.一種代碼缺陷預警裝置,其特征在于,包括:
接收模塊,用于接收待檢測代碼;
提取輸入模塊,用于提取所述待檢測代碼中的特征數據,并將所述特征數據輸入預先訓練好的分類器,所述分類器根據歷史代碼提交記錄中的特征數據訓練得到;
預警模塊,用于獲取所述分類器對所述特征數據的分類結果,并在所述分類結果滿足預設條件時,對所述待檢測代碼進行缺陷預警。
7.根據權利要求6所述的代碼缺陷預警裝置,其特征在于,還包括:
分類器訓練模塊,用于根據版本管理系統的歷史代碼提交記錄和預設算法訓練分類器。
8.根據權利要求6所述的代碼缺陷預警裝置,其特征在于,還包括:
分類器優化模塊,用于在檢測到本次接收的待檢測代碼為bug-fix提交時,根據所述bug-fix提交的特征數據對所述分類器進行訓練。
9.一種存儲介質,其特征在于,所述存儲介質包括存儲的程序,其中,所述程序執行權利要求1至5中任意一項所述的代碼缺陷預警方法。
10.一種處理器,其特征在于,所述處理器用于運行程序,其中,所述程序運行時執行權利要求1至5中任意一項所述的代碼缺陷預警方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京國雙科技有限公司,未經北京國雙科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710940334.0/1.html,轉載請聲明來源鉆瓜專利網。





