亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種軟件缺陷預(yù)測方法、系統(tǒng)、設(shè)備及介質(zhì)

文檔序號:40400606發(fā)布日期:2024-12-20 12:24閱讀:6來源:國知局
一種軟件缺陷預(yù)測方法、系統(tǒng)、設(shè)備及介質(zhì)

本發(fā)明涉及軟件工程的缺陷預(yù)測,尤其涉及一種軟件缺陷預(yù)測方法、系統(tǒng)、設(shè)備及介質(zhì)。


背景技術(shù):

1、軟件缺陷預(yù)測技術(shù)(software?defect?prediction,sdp)致力于協(xié)助測試團(tuán)隊(duì)揭示尚未被識別的軟件問題,目的是在軟件開發(fā)過程的初期階段識別出那些最可能含有缺陷的軟件組件,進(jìn)而集中并優(yōu)先對這些組件開展測試,從而協(xié)助開發(fā)與測試團(tuán)隊(duì)更有效地修復(fù)這些缺陷。軟件缺陷預(yù)測的流程通常包括數(shù)據(jù)收集、數(shù)據(jù)預(yù)處理、特征選擇、模型建立、模型評估以及模型應(yīng)用等步驟。

2、目前現(xiàn)有的軟件缺陷預(yù)測方法通常是基于單視圖的方法進(jìn)行特征選擇,但是基于單一視圖的方法獲取的特征數(shù)據(jù)所構(gòu)建的預(yù)測模型無法充分利用各視圖之間的互補(bǔ)信息,導(dǎo)致缺陷預(yù)測無法更加全面和準(zhǔn)確;同時(shí),現(xiàn)有的軟件缺陷預(yù)測方法在預(yù)測模型的構(gòu)建中忽視了類依賴網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)上的更多屬性信息,未能充分利用這些屬性會導(dǎo)致預(yù)測模型對代碼特征的表示不夠充分,從而影響缺陷預(yù)測的準(zhǔn)確性。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明所要解決的技術(shù)問題是,提供一種軟件缺陷預(yù)測方法、系統(tǒng)、設(shè)備及介質(zhì),可以提高軟件缺陷預(yù)測的準(zhǔn)確性。

2、為解決以上技術(shù)問題,本發(fā)明實(shí)施例提供一種軟件缺陷預(yù)測方法,包括:

3、將軟件源代碼轉(zhuǎn)換為抽象語法樹,基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)對所述抽象語法樹進(jìn)行處理,以生成語法樹特征;

4、根據(jù)所述源代碼中的依賴關(guān)系構(gòu)建類依賴網(wǎng)絡(luò),利用圖嵌入算法對所述類依賴網(wǎng)絡(luò)進(jìn)行嵌入,以得到網(wǎng)絡(luò)嵌入向量;

5、將所述源代碼的代碼度量與所述網(wǎng)絡(luò)嵌入向量進(jìn)行拼接,以生成增強(qiáng)特征;

6、將所述語法樹特征與所述增強(qiáng)特征進(jìn)行組合,以得到圖節(jié)點(diǎn)屬性特征;

7、基于所述圖節(jié)點(diǎn)屬性特征進(jìn)行缺陷預(yù)測。

8、作為上述方案的改進(jìn),所述基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)對所述抽象語法樹進(jìn)行處理,生成語法樹特征,包括:

9、基于主節(jié)點(diǎn)優(yōu)先的遍歷算法對所述抽象語法樹進(jìn)行抽取,得到目標(biāo)節(jié)點(diǎn)序列;

10、將所述目標(biāo)節(jié)點(diǎn)序列轉(zhuǎn)換為詞嵌入向量;

11、使用卷積神經(jīng)網(wǎng)絡(luò)對所述詞嵌入向量進(jìn)行處理,生成語法樹特征。

12、作為上述方案的改進(jìn),所述基于主節(jié)點(diǎn)優(yōu)先的遍歷算法對所述抽象語法樹進(jìn)行抽取,得到目標(biāo)節(jié)點(diǎn)序列,包括:

13、從所述抽象語法樹的根節(jié)點(diǎn)開始,逐一判斷節(jié)點(diǎn)是否為目標(biāo)節(jié)點(diǎn);

14、若是,則添加到目標(biāo)節(jié)點(diǎn)序列;

15、若否,則根據(jù)每一節(jié)點(diǎn)的子節(jié)點(diǎn)的子樹大小對每一子節(jié)點(diǎn)進(jìn)行遍歷,以返回符合要求的目標(biāo)節(jié)點(diǎn)序列。

16、作為上述方案的改進(jìn),所述使用卷積神經(jīng)網(wǎng)絡(luò)對所述詞嵌入向量進(jìn)行處理,生成語法樹特征,包括:

17、使用卷積神經(jīng)網(wǎng)絡(luò)的卷積層對所述詞嵌入向量進(jìn)行卷積操作,以提取卷積特征;

18、通過所述卷積神經(jīng)網(wǎng)絡(luò)的池化層對所述卷積特征進(jìn)行池化;

19、將池化后的特征通過所述卷積神經(jīng)網(wǎng)絡(luò)的全連接層進(jìn)行變換,以生成語法樹特征。

20、作為上述方案的改進(jìn),將所述語法樹特征與所述增強(qiáng)特征進(jìn)行組合的方式包括按特征的元素相加、相乘或或者拼接的方式中的至少一種。

21、作為上述方案的改進(jìn),在所述生成增強(qiáng)特征之后,還包括:

22、采用主成分分析降維方法對所述增強(qiáng)特征進(jìn)行降維,得到低維特征。

23、作為上述方案的改進(jìn),所述基于所述圖節(jié)點(diǎn)屬性特征進(jìn)行缺陷預(yù)測,包括:

24、將所述圖節(jié)點(diǎn)屬性特征作為深度學(xué)習(xí)模型的輸入,以輸出缺陷預(yù)測結(jié)果;

25、根據(jù)所述預(yù)測結(jié)果計(jì)算損失函數(shù),以所述損失函數(shù)最小為目標(biāo)對所述深度學(xué)習(xí)模型進(jìn)行優(yōu)化訓(xùn)練,得到訓(xùn)練好的軟件缺陷預(yù)測模型;

26、通過訓(xùn)練好的軟件缺陷預(yù)測模型進(jìn)行軟件缺陷預(yù)測。

27、為解決以上技術(shù)問題,本發(fā)明實(shí)施例還提供了一種軟件缺陷預(yù)測系統(tǒng),包括:

28、第一特征生成模塊,用于將軟件源代碼轉(zhuǎn)換為抽象語法樹,基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)對所述抽象語法樹進(jìn)行處理,以生成語法樹特征;

29、網(wǎng)絡(luò)嵌入向量生成模塊,用于根據(jù)所述源代碼中的依賴關(guān)系構(gòu)建類依賴網(wǎng)絡(luò),利用圖嵌入算法對所述類依賴網(wǎng)絡(luò)進(jìn)行嵌入,以得到網(wǎng)絡(luò)嵌入向量;

30、第二特征生成模塊,用于將所述源代碼的代碼度量與所述網(wǎng)絡(luò)嵌入向量進(jìn)行拼接,以生成增強(qiáng)特征;

31、第三特征生成模塊,用于將所述語法樹特征與所述增強(qiáng)特征進(jìn)行組合,以得到圖節(jié)點(diǎn)屬性特征;

32、缺陷預(yù)測模塊,用于基于所述圖節(jié)點(diǎn)屬性特征進(jìn)行缺陷預(yù)測。

33、為解決以上技術(shù)問題,本發(fā)明實(shí)施例還提供了一種終端設(shè)備,包括:處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執(zhí)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上任意一項(xiàng)所述的軟件缺陷預(yù)測方法。

34、為解決以上技術(shù)問題,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,其中,在所述計(jì)算機(jī)程序運(yùn)行時(shí)控制所述計(jì)算機(jī)可讀存儲介質(zhì)所在設(shè)備執(zhí)行如上任意一項(xiàng)所述的軟件缺陷預(yù)測方法。

35、本發(fā)明實(shí)施例提供的一種軟件缺陷預(yù)測方法、系統(tǒng)、設(shè)備及介質(zhì),該方法通過將軟件源代碼轉(zhuǎn)換為抽象語法樹,基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)對所述抽象語法樹進(jìn)行處理,生成語法樹特征;并根據(jù)所述源代碼中的依賴關(guān)系構(gòu)建類依賴網(wǎng)絡(luò),利用圖嵌入算法對所述類依賴網(wǎng)絡(luò)進(jìn)行嵌入,以得到網(wǎng)絡(luò)嵌入向量;然后將所述源代碼的代碼度量與所述網(wǎng)絡(luò)嵌入向量進(jìn)行拼接,以生成增強(qiáng)特征;再將所述語法樹特征與所述增強(qiáng)特征進(jìn)行組合,以得到圖節(jié)點(diǎn)屬性特征;最后基于所述圖節(jié)點(diǎn)屬性特征進(jìn)行缺陷預(yù)測。本發(fā)明首先通過基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)來捕捉語法樹特征,能夠從源代碼中提取出深層次的且與缺陷相關(guān)的特征;其次通過在類依賴網(wǎng)絡(luò)中嵌入了傳統(tǒng)代碼度量中提取的特征,豐富了每個(gè)節(jié)點(diǎn)的屬性信息,進(jìn)一步提升了特征的質(zhì)量;最后通過融合抽象語法樹、傳統(tǒng)代碼度量和類依賴網(wǎng)絡(luò)三種視圖信息特征,構(gòu)建一個(gè)高質(zhì)量的圖節(jié)點(diǎn)屬性特征,并基于此特征表示訓(xùn)練和優(yōu)化軟件缺陷預(yù)測模型,可以捕獲更全面的代碼語義和結(jié)構(gòu)信息,學(xué)習(xí)到更加全面的特征表示,從而提升缺陷預(yù)測的準(zhǔn)確性和缺陷識別能力。



技術(shù)特征:

1.一種軟件缺陷預(yù)測方法,其特征在于,包括:

2.如權(quán)利要求1所述的軟件缺陷預(yù)測方法,其特征在于,所述基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)對所述抽象語法樹進(jìn)行處理,生成語法樹特征,包括:

3.如權(quán)利要求2所述的軟件缺陷預(yù)測方法,其特征在于,所述基于主節(jié)點(diǎn)優(yōu)先的遍歷算法對所述抽象語法樹進(jìn)行抽取,得到目標(biāo)節(jié)點(diǎn)序列,包括:

4.如權(quán)利要求2所述的軟件缺陷預(yù)測方法,其特征在于,所述使用卷積神經(jīng)網(wǎng)絡(luò)對所述詞嵌入向量進(jìn)行處理,生成語法樹特征,包括:

5.如權(quán)利要求1所述的方法,其特征在于,將所述語法樹特征與所述增強(qiáng)特征進(jìn)行組合的方式包括按特征的元素相加、相乘或者拼接的方式中的至少一種。

6.如權(quán)利要求1所述的軟件缺陷預(yù)測方法,其特征在于,在所述生成增強(qiáng)特征之后,還包括:

7.如權(quán)利要求1所述的方法,其特征在于,所述基于所述圖節(jié)點(diǎn)屬性特征進(jìn)行缺陷預(yù)測,包括:

8.一種軟件缺陷預(yù)測系統(tǒng),其特征在于,包括:

9.一種終端設(shè)備,其特征在于,包括:處理器、存儲器以及存儲在所述存儲器中且被配置為由所述處理器執(zhí)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至7中任意一項(xiàng)所述的軟件缺陷預(yù)測方法。

10.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,其中,在所述計(jì)算機(jī)程序運(yùn)行時(shí)控制所述計(jì)算機(jī)可讀存儲介質(zhì)所在設(shè)備執(zhí)行如權(quán)利要求1至7中任意一項(xiàng)所述的軟件缺陷預(yù)測方法。


技術(shù)總結(jié)
本發(fā)明公開了一種軟件缺陷預(yù)測方法、系統(tǒng)、設(shè)備及介質(zhì),通過將軟件源代碼轉(zhuǎn)換為抽象語法樹,基于主節(jié)點(diǎn)優(yōu)先的遍歷算法和卷積神經(jīng)網(wǎng)絡(luò)對所述抽象語法樹進(jìn)行處理,生成語法樹特征;并根據(jù)所述源代碼中的依賴關(guān)系構(gòu)建類依賴網(wǎng)絡(luò),利用圖嵌入算法對所述類依賴網(wǎng)絡(luò)進(jìn)行嵌入,以得到網(wǎng)絡(luò)嵌入向量;然后將所述源代碼的代碼度量與所述網(wǎng)絡(luò)嵌入向量進(jìn)行拼接,以生成增強(qiáng)特征;再將所述語法樹特征與所述增強(qiáng)特征進(jìn)行組合,以得到圖節(jié)點(diǎn)屬性特征;最后基于所述圖節(jié)點(diǎn)屬性特征進(jìn)行缺陷預(yù)測。本發(fā)明融合了多種視圖信息特征,可以提升缺陷預(yù)測的準(zhǔn)確性和缺陷識別能力。

技術(shù)研發(fā)人員:荊曉遠(yuǎn),鄧晉玨,韓偉
受保護(hù)的技術(shù)使用者:廣東石油化工學(xué)院
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/19
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1