[發(fā)明專利]一種去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010917981.1 | 申請(qǐng)日: | 2020-09-03 |
| 公開(公告)號(hào): | CN112148595A | 公開(公告)日: | 2020-12-29 |
| 發(fā)明(設(shè)計(jì))人: | 許海濤;周成成;段瑞豐;林福宏;周賢偉 | 申請(qǐng)(專利權(quán))人: | 北京科技大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京市廣友專利事務(wù)所有限責(zé)任公司 11237 | 代理人: | 張仲波 |
| 地址: | 100083*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 去除 重復(fù) 變更 軟件 缺陷 預(yù)測(cè) 方法 | ||
1.一種去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,包括:
提取項(xiàng)目倉庫中所有分支的變更數(shù)據(jù);
對(duì)提取到的變更數(shù)據(jù)進(jìn)行標(biāo)注,標(biāo)注信息包括:缺陷變更和非缺陷變更;
去除提取到的變更數(shù)據(jù)中的重復(fù)變更;
計(jì)算去除重復(fù)變更后的變更數(shù)據(jù)的變更級(jí)軟件缺陷預(yù)測(cè)特征;
根據(jù)計(jì)算得到的變更級(jí)軟件缺陷預(yù)測(cè)特征及標(biāo)注信息,訓(xùn)練缺陷預(yù)測(cè)模型,以便訓(xùn)練好的缺陷預(yù)測(cè)模型判斷待預(yù)測(cè)的變更數(shù)據(jù)是否是缺陷變更。
2.根據(jù)權(quán)利要求1所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述提取項(xiàng)目倉庫中所有分支的變更數(shù)據(jù)包括:
挖掘項(xiàng)目倉庫,從中析取代碼變更元信息,按照元信息中代碼變更的時(shí)間順序建立代碼前后變更關(guān)系圖,根據(jù)建立的代碼前后變更關(guān)系圖提取項(xiàng)目倉庫中所有分支的變更數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述對(duì)提取到的變更數(shù)據(jù)進(jìn)行標(biāo)注包括:
掃描遍歷所有存儲(chǔ)在版本控制系統(tǒng)中的變更數(shù)據(jù),根據(jù)變更日志進(jìn)行關(guān)鍵詞分析,搜索到所有修復(fù)缺陷代碼的變更;
利用版本控制系統(tǒng)的diff命令識(shí)別所述修復(fù)缺陷代碼的變更的代碼行,去除噪音,識(shí)別到缺陷代碼行;
利用版本控制系統(tǒng)的annotate命令回溯代碼變更提交歷史,識(shí)別出引入所述缺陷代碼行的變更,將該變更標(biāo)注為缺陷變更,并將缺陷變更以外的其余變更標(biāo)注為非缺陷變更。
4.根據(jù)權(quán)利要求1所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述去除提取到的變更數(shù)據(jù)中的重復(fù)變更包括:
對(duì)提取到的變更數(shù)據(jù)進(jìn)行遍歷與比較,若兩個(gè)變更滿足以下3個(gè)條件:
條件1,兩個(gè)變更在不同的分支上;
條件2,兩個(gè)變更修改了相同的文件;
條件3,兩個(gè)變更修改了相同的代碼;
則判斷所述兩個(gè)變更為一對(duì)重復(fù)變更,去除其中變更時(shí)間較晚的變更。
5.根據(jù)權(quán)利要求2所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述計(jì)算去除重復(fù)變更后的變更數(shù)據(jù)的變更級(jí)軟件缺陷預(yù)測(cè)特征包括:
利用析取的代碼變更元信息和對(duì)變更數(shù)據(jù)的標(biāo)注信息,計(jì)算去除重復(fù)變更后的變更數(shù)據(jù)的變更級(jí)軟件缺陷預(yù)測(cè)特征。
6.根據(jù)權(quán)利要求1所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述變更級(jí)軟件缺陷預(yù)測(cè)特征包括:變更增加的代碼行數(shù)量、變更刪除的代碼行數(shù)量、變更前文件代碼行數(shù)量、變更修改子系統(tǒng)數(shù)量、變更修改代碼目錄數(shù)量、變更修改文件數(shù)量、變更在文件級(jí)別分散度、變更文件有關(guān)開發(fā)者數(shù)量、變更文件距上次變更平均時(shí)間間隔、變更文件相關(guān)修改過的數(shù)量、是否為修復(fù)型變更、開發(fā)者已提交變更數(shù)量、開發(fā)者近期提交變更數(shù)量和開發(fā)者在子系統(tǒng)層面變更數(shù)量。
7.根據(jù)權(quán)利要求1所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述根據(jù)計(jì)算得到的變更級(jí)軟件缺陷預(yù)測(cè)特征及標(biāo)注信息,訓(xùn)練缺陷預(yù)測(cè)模型包括:
將計(jì)算得到的變更級(jí)軟件缺陷預(yù)測(cè)特征及標(biāo)注信息輸入到分類器中,對(duì)分類器進(jìn)行訓(xùn)練,當(dāng)分類器的損失函數(shù)最小時(shí),將此時(shí)的分類器作為訓(xùn)練好的缺陷預(yù)測(cè)模型。
8.根據(jù)權(quán)利要求1所述的去除重復(fù)變更的軟件變更級(jí)缺陷預(yù)測(cè)方法,其特征在于,所述訓(xùn)練好的缺陷預(yù)測(cè)模型判斷待預(yù)測(cè)的變更數(shù)據(jù)是否是缺陷變更包括:
將待預(yù)測(cè)的變更數(shù)據(jù)的變更級(jí)軟件缺陷預(yù)測(cè)特征輸入到訓(xùn)練好的缺陷預(yù)測(cè)模型中,所述缺陷預(yù)測(cè)模型判斷待預(yù)測(cè)的變更數(shù)據(jù)是否是缺陷變更。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京科技大學(xué),未經(jīng)北京科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010917981.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 圖像診斷裝置、醫(yī)用系統(tǒng)以及協(xié)議管理方法
- 一種基于三維模型的航天器總裝信息變更系統(tǒng)及變更方法
- 自升式鉆井平臺(tái)項(xiàng)目變更管理系統(tǒng)及方法
- 一種變更信息處理方法及裝置
- 工程變更管理信息系統(tǒng)的行動(dòng)預(yù)案確認(rèn)方法及系統(tǒng)
- 基準(zhǔn)站運(yùn)維變更管理方法和系統(tǒng)
- 一種PCBA板卡的變更方法、裝置及系統(tǒng)
- 一種代碼變更方法以及裝置
- 工單處理方法、裝置、計(jì)算機(jī)設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 業(yè)務(wù)對(duì)象信息變更方法、系統(tǒng)、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法





