[發(fā)明專利]代碼缺陷輔助修復(fù)方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201910369266.6 | 申請(qǐng)日: | 2019-05-05 |
| 公開(kāi)(公告)號(hào): | CN110221933B | 公開(kāi)(公告)日: | 2023-07-21 |
| 發(fā)明(設(shè)計(jì))人: | 周秀霞;何軍;焦建鋒;彭程潤(rùn);王初晴 | 申請(qǐng)(專利權(quán))人: | 北京百度網(wǎng)訊科技有限公司 |
| 主分類號(hào): | G06F11/07 | 分類號(hào): | G06F11/07 |
| 代理公司: | 北京潤(rùn)平知識(shí)產(chǎn)權(quán)代理有限公司 11283 | 代理人: | 肖冰濱;王曉曉 |
| 地址: | 100085 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 缺陷 輔助 修復(fù) 方法 系統(tǒng) | ||
1.一種代碼缺陷輔助修復(fù)方法,包括:
獲取待修復(fù)的缺陷代碼;
基于推薦樣本庫(kù)確定與所述待修復(fù)的缺陷代碼相對(duì)應(yīng)的目標(biāo)參考修復(fù)代碼,其中所述推薦樣本庫(kù)中預(yù)存儲(chǔ)多組相互對(duì)應(yīng)的參考缺陷代碼和參考修復(fù)代碼,且所述參考修復(fù)代碼為相應(yīng)的所述參考缺陷代碼的已修復(fù)版本,所述參考修復(fù)代碼來(lái)自多個(gè)不同類別的應(yīng)用程序,以豐富所構(gòu)建的推薦樣本庫(kù)中的樣本;
基于所述目標(biāo)參考修復(fù)代碼,提供代碼缺陷輔助修復(fù)服務(wù),
其中,所述基于推薦樣本庫(kù)確定與所述待修復(fù)的缺陷代碼相對(duì)應(yīng)的目標(biāo)參考修復(fù)代碼包括:
確定所述待修復(fù)的缺陷代碼的目標(biāo)缺陷特征信息;
基于推薦樣本庫(kù)確定與所述目標(biāo)缺陷特征信息相匹配的目標(biāo)參考修復(fù)代碼,其中所述推薦樣本庫(kù)中還預(yù)存儲(chǔ)了多組相互對(duì)應(yīng)的參考缺陷特征信息和參考修復(fù)代碼。
2.根據(jù)權(quán)利要求1所述的方法,其中,該方法還包括針對(duì)所述推薦樣本庫(kù)的建庫(kù)步驟,所述建庫(kù)步驟包括:
獲取第一版本的應(yīng)用程序代碼,并統(tǒng)計(jì)所述第一版本的應(yīng)用程序代碼中的第一缺陷代碼集合;
獲取第二版本的應(yīng)用程序代碼,并統(tǒng)計(jì)所述第二版本的應(yīng)用程序代碼中的第二缺陷代碼集合;
比較所述第一缺陷代碼集合和所述第二缺陷代碼集合,確定在所述第一版本和所述第二版本的所述應(yīng)用程序代碼之間已修復(fù)的缺陷代碼;
將所述已修復(fù)的缺陷代碼作為參考修復(fù)代碼,并將所述參考修復(fù)代碼所對(duì)應(yīng)的缺陷代碼確定為相對(duì)應(yīng)的參考缺陷代碼,以及,根據(jù)相互對(duì)應(yīng)的所述參考修復(fù)代碼和所述參考缺陷代碼構(gòu)建所述推薦樣本庫(kù)。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述根據(jù)相互對(duì)應(yīng)的所述參考修復(fù)代碼和所述參考缺陷代碼構(gòu)建所述推薦樣本庫(kù)還包括:
確定并提取所述參考缺陷代碼所對(duì)應(yīng)的參考缺陷特征信息;
根據(jù)相互對(duì)應(yīng)的所述參考缺陷特征信息、所述參考缺陷代碼和所述參考修復(fù)代碼,構(gòu)建所述推薦樣本庫(kù)。
4.根據(jù)權(quán)利要求2所述的方法,其中,所述建庫(kù)步驟還包括:基于多個(gè)不同種類的應(yīng)用程序代碼,構(gòu)建所述推薦樣本庫(kù)。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述確定所述待修復(fù)的缺陷代碼的目標(biāo)缺陷特征信息包括:
將包括所述待修復(fù)的缺陷代碼的源文件轉(zhuǎn)換為抽象語(yǔ)法樹,其中所述抽象語(yǔ)法樹上配置有與源代碼位置相對(duì)應(yīng)的多個(gè)節(jié)點(diǎn)結(jié)構(gòu);
根據(jù)所述待修復(fù)的缺陷代碼所處的缺陷源代碼位置,確定在所述抽象語(yǔ)法樹上相對(duì)應(yīng)的缺陷節(jié)點(diǎn)結(jié)構(gòu);以及
將所述缺陷節(jié)點(diǎn)結(jié)構(gòu)中的節(jié)點(diǎn)代碼信息按照預(yù)設(shè)的消息摘要算法進(jìn)行計(jì)算,以得出對(duì)應(yīng)的目標(biāo)缺陷消息摘要值,其中所述目標(biāo)缺陷特征信息包括所述目標(biāo)缺陷消息摘要值。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述推薦樣本庫(kù)中的所述參考缺陷特征信息包括參考缺陷消息摘要值,其中所述基于推薦樣本庫(kù)確定與所述目標(biāo)缺陷特征信息相匹配的目標(biāo)參考修復(fù)代碼包括:
將所述目標(biāo)缺陷消息摘要值與所述推薦樣本庫(kù)中的各個(gè)參考缺陷消息摘要值進(jìn)行相似度計(jì)算;
根據(jù)相似度計(jì)算結(jié)果,確定相匹配的所述目標(biāo)參考修復(fù)代碼。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述基于所述目標(biāo)參考修復(fù)代碼,提供代碼缺陷輔助修復(fù)服務(wù)包括:
發(fā)送所述目標(biāo)參考修復(fù)代碼,或者,
發(fā)送所述目標(biāo)參考修復(fù)代碼和在所述推薦樣本庫(kù)中與所述目標(biāo)參考修復(fù)代碼相對(duì)應(yīng)的參考代碼缺陷。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京百度網(wǎng)訊科技有限公司,未經(jīng)北京百度網(wǎng)訊科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910369266.6/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ò)誤
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)





