不同場(chǎng)景的軟件缺陷預(yù)測(cè)方法研究
發(fā)布時(shí)間:2021-10-23 04:49
軟件產(chǎn)品已經(jīng)融入到我們?nèi)粘I畹姆椒矫婷?但是在軟件設(shè)計(jì)、開(kāi)發(fā)、配置等過(guò)程中的種種因素導(dǎo)致軟件中不可避免存在缺陷。軟件模塊中隱藏的缺陷威脅著軟件產(chǎn)品的安全性,降低了軟件產(chǎn)品的可靠性。因此,在交付產(chǎn)品之前,檢測(cè)并修復(fù)有缺陷的軟件模塊是一項(xiàng)極為重要的軟件質(zhì)量保障活動(dòng)。然而由于軟件規(guī)模和復(fù)雜性的持續(xù)增長(zhǎng),提高軟件質(zhì)量對(duì)軟件開(kāi)發(fā)和測(cè)試人員來(lái)說(shuō)是一項(xiàng)越來(lái)越具有挑戰(zhàn)性的任務(wù)。由于有限的測(cè)試資源通常無(wú)法支持對(duì)所有的代碼進(jìn)行全面的檢查,這需要一個(gè)優(yōu)先級(jí)次序來(lái)更好地分析軟件產(chǎn)品。換句話說(shuō),軟件開(kāi)發(fā)人員和測(cè)試人員應(yīng)該合理地分配寶貴的資源來(lái)測(cè)試那些高概率包含缺陷的軟件模塊。為了尋求這種優(yōu)先級(jí),研究人員提出了軟件缺陷預(yù)測(cè)來(lái)識(shí)別出這種高風(fēng)險(xiǎn)模塊,進(jìn)而推薦給開(kāi)發(fā)或者測(cè)試人員進(jìn)行優(yōu)先檢查。目前研究地最廣泛的缺陷預(yù)測(cè)方法是基于有監(jiān)督模型的技術(shù),它首先在有標(biāo)簽的軟件模塊上訓(xùn)練一個(gè)分類(lèi)模型,然后使用它來(lái)識(shí)別沒(méi)有標(biāo)簽的模塊是否包含缺陷。基于有監(jiān)督的缺陷預(yù)測(cè)模型需要當(dāng)前項(xiàng)目或外部項(xiàng)目的歷史有標(biāo)簽數(shù)據(jù)作為訓(xùn)練集。根據(jù)訓(xùn)練集的來(lái)源不同,有監(jiān)督的缺陷預(yù)測(cè)可以分為版本內(nèi)缺陷預(yù)測(cè)場(chǎng)景、跨版本缺陷預(yù)測(cè)場(chǎng)景和跨項(xiàng)目缺陷預(yù)測(cè)場(chǎng)景。這三種場(chǎng)景...
【文章來(lái)源】:武漢大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:129 頁(yè)
【學(xué)位級(jí)別】:博士
【部分圖文】:
軟件缺陷預(yù)測(cè)研究結(jié)構(gòu)圖
武漢大學(xué)博士學(xué)位論文46顯示的是在兩個(gè)數(shù)據(jù)集所有的15個(gè)項(xiàng)目上,這9個(gè)方法在6個(gè)性能指標(biāo)平均值上的Friedman檢驗(yàn)和Nemenyi事后檢驗(yàn)結(jié)果。從表3-9,表3-10和圖3-9中,我們有以下的發(fā)現(xiàn):第一,表3-9中的結(jié)果表明,在NASA數(shù)據(jù)集的10個(gè)項(xiàng)目上,我們提出的KPWE框架在所有6個(gè)指標(biāo)上獲得最好的平均性能值;在AEEEM數(shù)據(jù)集的5個(gè)項(xiàng)目上,我們提出的KPWE框架在5個(gè)指標(biāo)(除了AUC)上獲得最好的平均性能值;在兩個(gè)數(shù)據(jù)集的15個(gè)項(xiàng)目上,我們提出的KPWE框架也在所有6個(gè)指標(biāo)上獲得最好的平均性能值。第二,對(duì)于KPWE在兩個(gè)數(shù)據(jù)集上所有項(xiàng)目的性能平均值來(lái)說(shuō),相比于5個(gè)對(duì)比方法,KPWE在F,MCC,AUC,EAP,EAR和EAF6個(gè)指標(biāo)上分別有17.6%,58.7%,9.3%,30.4%,16.7%和22.5%的平均提升;相比于5個(gè)對(duì)比方法中最好平均性能指標(biāo)值,KPWE在F,MCC,AUC,EAP,EAR和EAF6個(gè)指標(biāo)上分別有7.3%,15.9%,3.5%,15.1%,10.5%和12.8%的提升。第三,表3-10中的結(jié)果表明,在NASA數(shù)據(jù)集的10個(gè)項(xiàng)目上,沒(méi)有特定的哪一種方法能夠以最少的隱含層節(jié)點(diǎn)數(shù)在大部分項(xiàng)目上獲得最佳的性能值。但是在AEEEM數(shù)據(jù)集的5個(gè)項(xiàng)目上,F(xiàn)S方法能夠以最少的隱含層節(jié)點(diǎn)數(shù)在4個(gè)項(xiàng)目上獲得最佳的性能值,但是其在NASA數(shù)據(jù)集上沒(méi)有在任何項(xiàng)目上能夠以最少的隱含層節(jié)點(diǎn)數(shù)獲得最好的性能值。這說(shuō)明在經(jīng)過(guò)這些特征選擇方法預(yù)處理后的數(shù)據(jù)上,能夠以最少的隱含層節(jié)點(diǎn)獲得最好性能值的方法在不同的項(xiàng)目上是不一樣的。(a)F-measure(b)MCC(c)AUC(d)EAP(e)EAR(f)EAF圖3-9KPWE和8個(gè)特征子集選擇方法的6個(gè)性能指標(biāo)值的統(tǒng)計(jì)檢驗(yàn)結(jié)果
不同場(chǎng)景的軟件缺陷預(yù)測(cè)方法研究53是軟件模塊的一個(gè)表示。為了保證每一個(gè)軟件模塊僅被一個(gè)軟件模塊所表示,需要有以下的一個(gè)約束條件∑=1=1,即矩陣的每一列元素的和為1。為了對(duì)上面的敘述有一個(gè)更好的理解,我們提供了一個(gè)圖形化的描述。假定每一個(gè)紅色的圓圈表示先前版本數(shù)據(jù)集中的一個(gè)軟件模塊,一個(gè)黃色的圓圈表示當(dāng)前版本塊數(shù)據(jù)集中的一個(gè)軟件模塊,另外虛線表示的是兩個(gè)軟件模塊之間的關(guān)聯(lián)關(guān)系(這里指的是DS3算法中的不相似性)。需要注意的是在執(zhí)行完DS3算法以后,如果一個(gè)紅色的圓圈和一個(gè)黃色的圓圈之間存在一條虛線連在一起,這表明這個(gè)紅色的圓圈表示的軟件模塊可以很好地代表這個(gè)黃色的圓圈表示的軟件模塊。圖4-1(a)顯示的是DS3算法的輸入,也就是兩個(gè)版本數(shù)據(jù)集的軟件模塊之間的點(diǎn)對(duì)不相似性。圖4-1(b)顯示的是運(yùn)行了DS3算法之后的結(jié)果示意圖。這個(gè)圖顯示DS3算法從先前版本數(shù)據(jù)集中選擇了3個(gè)軟件模塊(即2,4和6)作為代表來(lái)表示當(dāng)前版本數(shù)據(jù)集中的每一個(gè)軟件模塊。需要注意的是每一個(gè)黃色的圓圈僅僅只有一條虛線相連接,這是因?yàn)槲覀兎峙涿恳粋(gè)當(dāng)前版本數(shù)據(jù)集的軟件模塊到一個(gè)先前版本數(shù)據(jù)集的軟件模塊。不同的是,每一個(gè)紅色的圓圈可以有多條虛線相連接,這是因?yàn)槊恳粋(gè)先前版本數(shù)據(jù)集的軟件模塊可以代表多個(gè)當(dāng)前版本數(shù)據(jù)集的軟件模塊。比如,2能夠代表1和3。(a)兩個(gè)版本之間的點(diǎn)對(duì)不相似性(b)選擇出的能夠代表當(dāng)前版本的模塊圖4-1DS3方法示意圖為了基于不相似性矩陣從先前版本數(shù)據(jù)集中選擇一個(gè)有代表性的軟件模塊子集,DS3算法同時(shí)優(yōu)化以下兩項(xiàng):min{}∑∑=1=1+2∑=1(||||)s.t.∑=1=1,;∈{0,1},,,(4-7)
【參考文獻(xiàn)】:
期刊論文
[1]軟件缺陷預(yù)測(cè)技術(shù)研究進(jìn)展[J]. 宮麗娜,姜淑娟,姜麗. 軟件學(xué)報(bào). 2019(10)
[2]基于特征遷移和實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)方法[J]. 倪超,陳翔,劉望舒,顧慶,黃啟國(guó),李娜. 軟件學(xué)報(bào). 2019(05)
[3]即時(shí)軟件缺陷預(yù)測(cè)研究進(jìn)展[J]. 蔡亮,范元瑞,鄢萌,夏鑫. 軟件學(xué)報(bào). 2019(05)
[4]基于改進(jìn)深度森林算法的軟件缺陷預(yù)測(cè)[J]. 薛參觀,燕雪峰. 計(jì)算機(jī)科學(xué). 2018(08)
[5]跨項(xiàng)目軟件缺陷預(yù)測(cè)方法研究綜述[J]. 陳翔,王莉萍,顧慶,王贊,倪超,劉望舒,王秋萍. 計(jì)算機(jī)學(xué)報(bào). 2018(01)
[6]數(shù)據(jù)驅(qū)動(dòng)的軟件缺陷預(yù)測(cè)研究綜述[J]. 李勇,黃志球,王勇,房丙午. 電子學(xué)報(bào). 2017(04)
[7]一種面向軟件缺陷預(yù)測(cè)的可容忍噪聲的特征選擇框架[J]. 劉望舒,陳翔,顧慶,劉樹(shù)龍,陳道蓄. 計(jì)算機(jī)學(xué)報(bào). 2018(03)
[8]靜態(tài)軟件缺陷預(yù)測(cè)方法研究[J]. 陳翔,顧慶,劉望舒,劉樹(shù)龍,倪超. 軟件學(xué)報(bào). 2016(01)
[9]軟件缺陷分類(lèi)的研究[J]. 聶林波,劉孟仁. 計(jì)算機(jī)應(yīng)用研究. 2004(06)
本文編號(hào):3452498
【文章來(lái)源】:武漢大學(xué)湖北省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:129 頁(yè)
【學(xué)位級(jí)別】:博士
【部分圖文】:
軟件缺陷預(yù)測(cè)研究結(jié)構(gòu)圖
武漢大學(xué)博士學(xué)位論文46顯示的是在兩個(gè)數(shù)據(jù)集所有的15個(gè)項(xiàng)目上,這9個(gè)方法在6個(gè)性能指標(biāo)平均值上的Friedman檢驗(yàn)和Nemenyi事后檢驗(yàn)結(jié)果。從表3-9,表3-10和圖3-9中,我們有以下的發(fā)現(xiàn):第一,表3-9中的結(jié)果表明,在NASA數(shù)據(jù)集的10個(gè)項(xiàng)目上,我們提出的KPWE框架在所有6個(gè)指標(biāo)上獲得最好的平均性能值;在AEEEM數(shù)據(jù)集的5個(gè)項(xiàng)目上,我們提出的KPWE框架在5個(gè)指標(biāo)(除了AUC)上獲得最好的平均性能值;在兩個(gè)數(shù)據(jù)集的15個(gè)項(xiàng)目上,我們提出的KPWE框架也在所有6個(gè)指標(biāo)上獲得最好的平均性能值。第二,對(duì)于KPWE在兩個(gè)數(shù)據(jù)集上所有項(xiàng)目的性能平均值來(lái)說(shuō),相比于5個(gè)對(duì)比方法,KPWE在F,MCC,AUC,EAP,EAR和EAF6個(gè)指標(biāo)上分別有17.6%,58.7%,9.3%,30.4%,16.7%和22.5%的平均提升;相比于5個(gè)對(duì)比方法中最好平均性能指標(biāo)值,KPWE在F,MCC,AUC,EAP,EAR和EAF6個(gè)指標(biāo)上分別有7.3%,15.9%,3.5%,15.1%,10.5%和12.8%的提升。第三,表3-10中的結(jié)果表明,在NASA數(shù)據(jù)集的10個(gè)項(xiàng)目上,沒(méi)有特定的哪一種方法能夠以最少的隱含層節(jié)點(diǎn)數(shù)在大部分項(xiàng)目上獲得最佳的性能值。但是在AEEEM數(shù)據(jù)集的5個(gè)項(xiàng)目上,F(xiàn)S方法能夠以最少的隱含層節(jié)點(diǎn)數(shù)在4個(gè)項(xiàng)目上獲得最佳的性能值,但是其在NASA數(shù)據(jù)集上沒(méi)有在任何項(xiàng)目上能夠以最少的隱含層節(jié)點(diǎn)數(shù)獲得最好的性能值。這說(shuō)明在經(jīng)過(guò)這些特征選擇方法預(yù)處理后的數(shù)據(jù)上,能夠以最少的隱含層節(jié)點(diǎn)獲得最好性能值的方法在不同的項(xiàng)目上是不一樣的。(a)F-measure(b)MCC(c)AUC(d)EAP(e)EAR(f)EAF圖3-9KPWE和8個(gè)特征子集選擇方法的6個(gè)性能指標(biāo)值的統(tǒng)計(jì)檢驗(yàn)結(jié)果
不同場(chǎng)景的軟件缺陷預(yù)測(cè)方法研究53是軟件模塊的一個(gè)表示。為了保證每一個(gè)軟件模塊僅被一個(gè)軟件模塊所表示,需要有以下的一個(gè)約束條件∑=1=1,即矩陣的每一列元素的和為1。為了對(duì)上面的敘述有一個(gè)更好的理解,我們提供了一個(gè)圖形化的描述。假定每一個(gè)紅色的圓圈表示先前版本數(shù)據(jù)集中的一個(gè)軟件模塊,一個(gè)黃色的圓圈表示當(dāng)前版本塊數(shù)據(jù)集中的一個(gè)軟件模塊,另外虛線表示的是兩個(gè)軟件模塊之間的關(guān)聯(lián)關(guān)系(這里指的是DS3算法中的不相似性)。需要注意的是在執(zhí)行完DS3算法以后,如果一個(gè)紅色的圓圈和一個(gè)黃色的圓圈之間存在一條虛線連在一起,這表明這個(gè)紅色的圓圈表示的軟件模塊可以很好地代表這個(gè)黃色的圓圈表示的軟件模塊。圖4-1(a)顯示的是DS3算法的輸入,也就是兩個(gè)版本數(shù)據(jù)集的軟件模塊之間的點(diǎn)對(duì)不相似性。圖4-1(b)顯示的是運(yùn)行了DS3算法之后的結(jié)果示意圖。這個(gè)圖顯示DS3算法從先前版本數(shù)據(jù)集中選擇了3個(gè)軟件模塊(即2,4和6)作為代表來(lái)表示當(dāng)前版本數(shù)據(jù)集中的每一個(gè)軟件模塊。需要注意的是每一個(gè)黃色的圓圈僅僅只有一條虛線相連接,這是因?yàn)槲覀兎峙涿恳粋(gè)當(dāng)前版本數(shù)據(jù)集的軟件模塊到一個(gè)先前版本數(shù)據(jù)集的軟件模塊。不同的是,每一個(gè)紅色的圓圈可以有多條虛線相連接,這是因?yàn)槊恳粋(gè)先前版本數(shù)據(jù)集的軟件模塊可以代表多個(gè)當(dāng)前版本數(shù)據(jù)集的軟件模塊。比如,2能夠代表1和3。(a)兩個(gè)版本之間的點(diǎn)對(duì)不相似性(b)選擇出的能夠代表當(dāng)前版本的模塊圖4-1DS3方法示意圖為了基于不相似性矩陣從先前版本數(shù)據(jù)集中選擇一個(gè)有代表性的軟件模塊子集,DS3算法同時(shí)優(yōu)化以下兩項(xiàng):min{}∑∑=1=1+2∑=1(||||)s.t.∑=1=1,;∈{0,1},,,(4-7)
【參考文獻(xiàn)】:
期刊論文
[1]軟件缺陷預(yù)測(cè)技術(shù)研究進(jìn)展[J]. 宮麗娜,姜淑娟,姜麗. 軟件學(xué)報(bào). 2019(10)
[2]基于特征遷移和實(shí)例遷移的跨項(xiàng)目缺陷預(yù)測(cè)方法[J]. 倪超,陳翔,劉望舒,顧慶,黃啟國(guó),李娜. 軟件學(xué)報(bào). 2019(05)
[3]即時(shí)軟件缺陷預(yù)測(cè)研究進(jìn)展[J]. 蔡亮,范元瑞,鄢萌,夏鑫. 軟件學(xué)報(bào). 2019(05)
[4]基于改進(jìn)深度森林算法的軟件缺陷預(yù)測(cè)[J]. 薛參觀,燕雪峰. 計(jì)算機(jī)科學(xué). 2018(08)
[5]跨項(xiàng)目軟件缺陷預(yù)測(cè)方法研究綜述[J]. 陳翔,王莉萍,顧慶,王贊,倪超,劉望舒,王秋萍. 計(jì)算機(jī)學(xué)報(bào). 2018(01)
[6]數(shù)據(jù)驅(qū)動(dòng)的軟件缺陷預(yù)測(cè)研究綜述[J]. 李勇,黃志球,王勇,房丙午. 電子學(xué)報(bào). 2017(04)
[7]一種面向軟件缺陷預(yù)測(cè)的可容忍噪聲的特征選擇框架[J]. 劉望舒,陳翔,顧慶,劉樹(shù)龍,陳道蓄. 計(jì)算機(jī)學(xué)報(bào). 2018(03)
[8]靜態(tài)軟件缺陷預(yù)測(cè)方法研究[J]. 陳翔,顧慶,劉望舒,劉樹(shù)龍,倪超. 軟件學(xué)報(bào). 2016(01)
[9]軟件缺陷分類(lèi)的研究[J]. 聶林波,劉孟仁. 計(jì)算機(jī)應(yīng)用研究. 2004(06)
本文編號(hào):3452498
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3452498.html
最近更新
教材專(zhuān)著