[發(fā)明專利]一種基于Bert模型的方法層次缺陷定位方法有效
| 申請?zhí)枺?/td> | 202010169037.2 | 申請日: | 2020-03-12 |
| 公開(公告)號: | CN111427775B | 公開(公告)日: | 2023-05-02 |
| 發(fā)明(設(shè)計(jì))人: | 倪珍;李斌;孫小兵;陳天浩 | 申請(專利權(quán))人: | 揚(yáng)州大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/41;G06N3/045 |
| 代理公司: | 南京理工大學(xué)專利中心 32203 | 代理人: | 朱炳斐;馬魯晉 |
| 地址: | 225009*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 bert 模型 方法 層次 缺陷 定位 | ||
本發(fā)明公開了一種基于Bert模型的方法層次缺陷定位方法,該方法包括:構(gòu)建并訓(xùn)練Bert模型;獲取與待定位缺陷相關(guān)的歷史已修復(fù)缺陷;基于Bert模型構(gòu)建缺陷定位模型;訓(xùn)練缺陷定位模型;利用訓(xùn)練后的缺陷定位模型預(yù)測待定位缺陷對應(yīng)的缺陷方法。本發(fā)明提出的方法采用歷史數(shù)據(jù)和深度學(xué)習(xí)技術(shù)相結(jié)合訓(xùn)練缺陷定位模型,同時(shí)利用Bert模型分別訓(xùn)練缺陷報(bào)告編碼器和源代碼編碼器,并利用其確定缺陷定位模型中源代碼編碼器的參數(shù),增強(qiáng)了定位模型中源代碼編碼器的特征提取能力。此外,通過提煉相關(guān)的歷史已修復(fù)缺陷,縮小了缺陷定位的搜索范圍,提高了定位的準(zhǔn)確度,很好地達(dá)到了在方法級別上定位軟件缺陷的目的,進(jìn)而提升軟件缺陷修復(fù)的效率。
技術(shù)領(lǐng)域
本發(fā)明屬于軟件維護(hù)領(lǐng)域,特別涉及一種基于Bert模型的方法層次缺陷定位方法。
背景技術(shù)
軟件質(zhì)量對于軟件項(xiàng)目的成功至關(guān)重要。盡管已經(jīng)有了許多軟件質(zhì)量保證活動(dòng)(例如測試、檢查、靜態(tài)檢查等)來提高軟件質(zhì)量,但實(shí)際上,軟件系統(tǒng)通常都會(huì)附帶缺陷(錯(cuò)誤)。對于大型且不斷發(fā)展的軟件系統(tǒng),項(xiàng)目團(tuán)隊(duì)可能會(huì)在很長一段時(shí)間內(nèi)收到大量缺陷報(bào)告。例如,2009年Eclipse項(xiàng)目報(bào)告了大約4414個(gè)錯(cuò)誤。
在收到并確認(rèn)缺陷報(bào)告后,項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)找到需要更改的源代碼文件以修復(fù)該缺陷。但是,基于初始缺陷報(bào)告來手動(dòng)定位需要更改的文件通常會(huì)非常耗時(shí)耗力,尤其是在源文件和報(bào)告的數(shù)量很大的時(shí)候。對于包含數(shù)百個(gè)甚至數(shù)千個(gè)源文件的大型項(xiàng)目,手動(dòng)進(jìn)行缺陷定位是一項(xiàng)艱巨而費(fèi)時(shí)的工作。因此,缺陷修復(fù)時(shí)間通常會(huì)延長,維護(hù)成本會(huì)增加,并且客戶滿意度會(huì)受到影響。
開發(fā)過程中,缺陷的產(chǎn)生是無法避免的。在傳統(tǒng)的開發(fā)過程中,當(dāng)軟件測試人員或軟件使用者發(fā)現(xiàn)缺陷后,會(huì)在缺陷跟蹤管理系統(tǒng)中編寫缺陷報(bào)告告知軟件開發(fā)、維護(hù)人員。缺陷報(bào)告記錄了程序缺陷的報(bào)告時(shí)間、嚴(yán)重程度、異常的程序表現(xiàn)以及如何重現(xiàn)軟件缺陷的細(xì)節(jié)。軟件開發(fā)人員和維護(hù)人員需要根據(jù)提交的缺陷報(bào)告人工確定缺陷位置,以修復(fù)該缺陷。在實(shí)際缺陷修復(fù)過程中,修復(fù)者往往會(huì)在缺陷定位這一環(huán)節(jié)中花費(fèi)大量時(shí)間。因此如何自動(dòng)定位缺陷位置,以應(yīng)對不斷增長的缺陷數(shù)量和代碼規(guī)模,從而提高軟件修復(fù)效率與質(zhì)量,成為了研究人員關(guān)注的熱點(diǎn)之一。
近年來,一些研究人員利用信息檢索技術(shù),根據(jù)缺陷報(bào)告自動(dòng)搜索相關(guān)源文件。基于信息檢索的缺陷定位方法,將初始缺陷報(bào)告視為查詢,并根據(jù)與此查詢的相關(guān)性來對源代碼文件進(jìn)行排名,將排名靠前的源文件返回給開發(fā)人員。然后,開發(fā)人員可以檢查返回的源文件并修復(fù)缺陷。與基于頻譜的故障定位技術(shù)不同,基于信息檢索(IR)的缺陷定位不需要程序執(zhí)行信息(例如通過了和失敗了的程序執(zhí)行跟蹤),而是根據(jù)初始缺陷報(bào)告查找與缺陷相關(guān)的源文件。但目前這類研究都將缺陷報(bào)告和源代碼文件的文本看作是“詞包”,雖然同一個(gè)詞在缺陷報(bào)告和代碼中語義往往是相似的,但只關(guān)注兩者的之間單詞相似程度,會(huì)丟失整個(gè)文本的上下文信息,因而丟失了一部分語義信息,對缺陷定位的效果產(chǎn)生了負(fù)面的影響。另一方面,現(xiàn)有技術(shù)通常缺陷報(bào)告與源代碼文件采用統(tǒng)一的表示模型,測量相同詞匯特征空間中的相似性來關(guān)聯(lián)缺陷報(bào)告和源代碼。但缺陷報(bào)告和源代碼文件存在詞匯不匹配問題(lexical?mismatch):即缺陷報(bào)告中用于描述缺陷的術(shù)語與源文件中使用的術(shù)語和代碼tokens不同。因此詞匯不匹配問題會(huì)降低定位的準(zhǔn)確率。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種能幫助缺陷修復(fù)人員快速找到缺陷產(chǎn)生位置,提高缺陷修復(fù)效率的缺陷定位方法。
實(shí)現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種基于Bert模型的方法層次缺陷定位方法,所述方法包括以下步驟:
步驟1,構(gòu)建并訓(xùn)練Bert模型;
步驟2,獲取與待定位缺陷相關(guān)的歷史已修復(fù)缺陷;
步驟3,基于Bert模型構(gòu)建缺陷定位模型;
步驟4,基于所述相關(guān)的歷史已修復(fù)缺陷構(gòu)建所述缺陷定位模型的訓(xùn)練樣本;
步驟5,利用所述訓(xùn)練樣本訓(xùn)練所述缺陷定位模型;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于揚(yáng)州大學(xué),未經(jīng)揚(yáng)州大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010169037.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 一種基于Bert的意圖確定方法及裝置
- 語言模型的訓(xùn)練方法、裝置和計(jì)算機(jī)設(shè)備
- 融合外部知識(shí)的BERT模型的微調(diào)方法、裝置及計(jì)算機(jī)設(shè)備
- 基于BERT-BTM網(wǎng)絡(luò)的微博突發(fā)事件檢測方法
- 生成文本數(shù)據(jù)的方法、裝置和計(jì)算機(jī)設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的BERT模型的微調(diào)方法及裝置
- 多語言BERT序列標(biāo)注模型的壓縮方法及系統(tǒng)
- BERT模型的優(yōu)化方法及系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種基于BERT的多特征融合模糊文本分類系統(tǒng)
- 一種基于Bert+BiLSTM+CRF的知識(shí)元自動(dòng)抽取方法
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





