[發(fā)明專利]一種基于區(qū)塊鏈溯源與信息檢索的軟件缺陷定位方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110280035.5 | 申請(qǐng)日: | 2021-03-16 |
| 公開(kāi)(公告)號(hào): | CN113051156B | 公開(kāi)(公告)日: | 2022-03-11 |
| 發(fā)明(設(shè)計(jì))人: | 吳曉鸰;曾志兵;凌捷 | 申請(qǐng)(專利權(quán))人: | 廣東工業(yè)大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36;G06F16/27;G06F16/245 |
| 代理公司: | 廣州粵高專利商標(biāo)代理有限公司 44102 | 代理人: | 林麗明 |
| 地址: | 510090 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 區(qū)塊 溯源 信息 檢索 軟件 缺陷 定位 方法 | ||
1.一種基于區(qū)塊鏈溯源與信息檢索的軟件缺陷定位方法,其特征在于,所述方法包括以下步驟:
S1:獲取歷史缺陷報(bào)告和歷史缺陷報(bào)告對(duì)應(yīng)的被修改過(guò)的源代碼文件,保存在區(qū)塊鏈系統(tǒng)的區(qū)塊上;
S2:向區(qū)塊鏈系統(tǒng)提交當(dāng)前新缺陷報(bào)告;
S3:對(duì)當(dāng)前新缺陷報(bào)告進(jìn)行預(yù)處理;
S4:基于預(yù)處理后的當(dāng)前新缺陷報(bào)告的描述信息構(gòu)建查詢語(yǔ)句,利用查詢語(yǔ)句對(duì)區(qū)塊進(jìn)行搜索;
S5:判斷區(qū)塊鏈系統(tǒng)上是否存在未搜索過(guò)的區(qū)塊;如果存在未搜索過(guò)的區(qū)塊,轉(zhuǎn)入步驟S6;如果不存在未搜索過(guò)的區(qū)塊,轉(zhuǎn)入步驟S7;
S6:利用查詢語(yǔ)句在區(qū)塊鏈系統(tǒng)中溯源式回選n個(gè)區(qū)塊進(jìn)行檢索;
S7:利用查詢語(yǔ)句在對(duì)所有源代碼文件進(jìn)行檢索;
S8:計(jì)算檢索過(guò)程中查詢語(yǔ)句與歷史缺陷報(bào)告的第一相關(guān)度分?jǐn)?shù)、查詢語(yǔ)句與歷史缺陷報(bào)告對(duì)應(yīng)的被修改的源代碼文件的第二相關(guān)度分?jǐn)?shù),整合第一相關(guān)度分?jǐn)?shù)和第二相關(guān)度分?jǐn)?shù),獲得最終相關(guān)度分?jǐn)?shù);預(yù)先設(shè)置最終相關(guān)度分?jǐn)?shù)的閾值,對(duì)大于預(yù)設(shè)閾值的最終相關(guān)度分?jǐn)?shù)從大到小進(jìn)行排序;
計(jì)算最終相關(guān)度分?jǐn)?shù)的具體步驟為:
S8.1:利用TF-IDF算法計(jì)算查詢語(yǔ)句中的詞語(yǔ)在當(dāng)前新缺陷報(bào)告中的權(quán)重weight(t,q)、查詢語(yǔ)句中的詞語(yǔ)在歷史缺陷報(bào)告中的權(quán)重weight(t,r)和查詢語(yǔ)句中的詞語(yǔ)在對(duì)應(yīng)的被修改的源代碼文件中的權(quán)重weight(t,d),具體方法為:
weight(t,q)=tf(t,q)×idf(t,Q)
weight(t,r)=tf(t,r)×idf(t,R)
weight(t,d)=tf(t,d)×idf(t,D)
其中,tf(t,q)為詞語(yǔ)t在當(dāng)前新缺陷報(bào)告q中出現(xiàn)的頻率;idf(t,Q)為逆文本頻率,等于tf(t,q)的導(dǎo)數(shù)的對(duì)數(shù)值;tf(t,r)為詞語(yǔ)t在歷史缺陷報(bào)告r中出現(xiàn)的頻率;idf(t,R)為逆文本頻率,等于tf(t,r)的導(dǎo)數(shù)的對(duì)數(shù)值;tf(t,d)為詞語(yǔ)t在源代碼文件d中出現(xiàn)的頻率;idf(t,D)為逆文本頻率,等于rf(t,d)的導(dǎo)數(shù)的對(duì)數(shù)值;
S8.2:基于weight(t,q)和weight(t,r),計(jì)算當(dāng)前新缺陷報(bào)告和歷史故障報(bào)告的第一余弦相似度cos(q,r);基于weight(t,q)和weight(t,d),計(jì)算當(dāng)前新缺陷報(bào)告和對(duì)應(yīng)的被修改的源代碼文件的第二余弦相似度cos(q,d),具體方法為:
其中weight2(t,q)表示weight(t,q)的平方值,weight2(t,r)表示weight(t,r)的平方值, weight2(t,d)表示weight(t,d)的平方值;
S8.3:基于第一余弦相似度cos(q,r)計(jì)算第一相關(guān)度分值Score(q,r);基于第二余弦相似度cos(q,d)計(jì)算第二相關(guān)度分值Score(q,d);
S8.4:基于第一相關(guān)度分值Score(q,r)和第二相關(guān)度分值Score(q,d)計(jì)算最終相關(guān)度分值S;
S9:按照最終相關(guān)度分?jǐn)?shù)的排序結(jié)果逐個(gè)檢查對(duì)應(yīng)的被修改的源代碼文件,進(jìn)行缺陷定位;
S10:判斷缺陷定位是否成功;如果缺陷定位不成功,構(gòu)建新查詢語(yǔ)句,重復(fù)步驟S5-S9,直到缺陷定位成功;如果缺陷定位成功,將當(dāng)前新缺陷報(bào)告和相應(yīng)被修改的源代碼文件打包保存進(jìn)新區(qū)塊,上鏈區(qū)塊鏈系統(tǒng),完成此次缺陷定位。
2.根據(jù)權(quán)利要求1所述的基于區(qū)塊鏈溯源與信息檢索的軟件缺陷定位方法,其特征在于,所述S1中,保存歷史缺陷報(bào)告和對(duì)應(yīng)的被修改的源代碼文件時(shí),分別將每個(gè)歷史缺陷報(bào)告和對(duì)應(yīng)的被修改的源代碼文件打包保存在區(qū)塊鏈系統(tǒng)的一個(gè)區(qū)塊上。
3.根據(jù)權(quán)利要求2所述的基于區(qū)塊鏈溯源與信息檢索的軟件缺陷定位方法,其特征在于,所述S3中,預(yù)處理具體包括:對(duì)當(dāng)前新缺陷報(bào)告進(jìn)行文本標(biāo)準(zhǔn)化、停用詞移除和詞根還原。
4.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈溯源與信息檢索的軟件缺陷定位方法,其特征在于,所述S4中,構(gòu)建查詢語(yǔ)句前,利用修訂的向量空間模型,將預(yù)處理后的當(dāng)前新缺陷報(bào)告的描述信息表示為向量;預(yù)處理后的當(dāng)前新缺陷報(bào)告的描述信息包括堆棧跟蹤信息、報(bào)告者信息和API庫(kù)的描述。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣東工業(yè)大學(xué),未經(jīng)廣東工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110280035.5/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(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),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點(diǎn)及存儲(chǔ)介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點(diǎn)
- 本地區(qū)塊同步的檢驗(yàn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點(diǎn)來(lái)托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識(shí)系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲(chǔ)介質(zhì)及電子設(shè)備
- 溯源交互系統(tǒng)及溯源系統(tǒng)交互方法
- 單溯源碼農(nóng)產(chǎn)品分級(jí)溯源管理系統(tǒng)及方法
- 多溯源碼農(nóng)產(chǎn)品分級(jí)溯源管理系統(tǒng)及方法
- 食品安全溯源系統(tǒng)及方法
- 一種基于區(qū)塊鏈的溯源數(shù)據(jù)的獲取方法及相關(guān)設(shè)備
- 溯源方法、溯源裝置、溯源系統(tǒng)和存儲(chǔ)介質(zhì)
- 一種基于區(qū)塊鏈技術(shù)的溯源應(yīng)用系統(tǒng)
- 一種基于區(qū)塊鏈技術(shù)的溯源管理系統(tǒng)
- 一種聚合溯源的方法和相關(guān)裝置
- 一種醫(yī)學(xué)實(shí)驗(yàn)室監(jiān)管溯源系統(tǒng)及方法
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲(chǔ)介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲(chǔ)介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





