跨版本軟件缺陷預(yù)測(cè)技術(shù)研究
發(fā)布時(shí)間:2020-03-30 05:35
【摘要】:軟件缺陷預(yù)測(cè)技術(shù)可以預(yù)先識(shí)別出軟件模塊中潛藏的缺陷信息,指導(dǎo)測(cè)試資源分配和管理決策。在跨版本的軟件缺陷預(yù)測(cè)中,新版本軟件常因沒(méi)有足夠的標(biāo)記樣本而使用前序版本數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),但前序版本的特征信息通常具有“滯后性”——相似特征屬性的模塊完成缺陷修復(fù)后仍被預(yù)測(cè)為存在缺陷。本文針對(duì)跨版本缺陷預(yù)測(cè)中存在“高維小樣本”的問(wèn)題,提出了相應(yīng)的解決思路:針對(duì)無(wú)關(guān)特征和冗余特征的挖掘問(wèn)題,提出了一種基于聚類(lèi)分析結(jié)果進(jìn)行特征子集選擇的方法;針對(duì)新版本軟件中“小樣本”的問(wèn)題,引入基于實(shí)例遷移的思想,利用前序版本數(shù)據(jù)進(jìn)行更為有效的缺陷預(yù)測(cè)。主要工作如下:(1)針對(duì)軟件缺陷預(yù)測(cè)時(shí)樣本特征維度高、特征相互之間有冗余造成的搜索空間大、預(yù)測(cè)精度低等問(wèn)題,提出了一種結(jié)合聚類(lèi)分析和子集選擇的特征選擇算法:首先對(duì)樣本數(shù)據(jù)集進(jìn)行聚類(lèi)分析,得到聚類(lèi)結(jié)果,然后基于樣本聚類(lèi)的結(jié)果,進(jìn)行包裝式特征子集選擇,得到最優(yōu)特征子集。通過(guò)聚類(lèi)方法解決了子集搜索時(shí)搜索空間大的問(wèn)題,包裝式子集選擇則進(jìn)一步降低了特征間的冗余度。在NASA公開(kāi)數(shù)據(jù)集上的實(shí)驗(yàn)表明本文方法能有效降低特征子集的冗余率,并能有效提高預(yù)測(cè)模型的性能。(2)針對(duì)新版本軟件預(yù)測(cè)時(shí)訓(xùn)練數(shù)據(jù)少的問(wèn)題,引入基于實(shí)例遷移的思想,提出了改進(jìn)Boosting方法:在模型訓(xùn)練過(guò)程中,加入改進(jìn)的誤分類(lèi)代價(jià),動(dòng)態(tài)調(diào)整前序版本中樣本的權(quán)重,選擇對(duì)目標(biāo)版本預(yù)測(cè)有利的樣本,降低誤分類(lèi)樣本對(duì)模型的干擾。同時(shí)結(jié)合軟件版本演化過(guò)程中與缺陷相關(guān)的變更度量元,對(duì)目標(biāo)版本進(jìn)行缺陷預(yù)測(cè)。通過(guò)在公開(kāi)數(shù)據(jù)集上對(duì)預(yù)測(cè)模型進(jìn)行驗(yàn)證,結(jié)果證實(shí)該方法有效地改進(jìn)了預(yù)測(cè)模型的性能。(3)實(shí)現(xiàn)了一個(gè)跨版本軟件缺陷預(yù)測(cè)系統(tǒng),通過(guò)集成不同的數(shù)據(jù)預(yù)處理方法、特征選擇方法以及分類(lèi)學(xué)習(xí)算法,組成100條學(xué)習(xí)規(guī)則,可以針對(duì)不同的數(shù)據(jù)集選擇最佳的組合算法,達(dá)到最優(yōu)的預(yù)測(cè)效果。
【圖文】:
南京航空航天大學(xué)全日制專(zhuān)業(yè)學(xué)位碩士學(xué)位論文潛在的缺陷。現(xiàn)階段軟件缺陷預(yù)測(cè)方法基本可以分為兩大類(lèi):靜態(tài)缺陷預(yù)測(cè)和動(dòng)態(tài)缺陷預(yù)測(cè)。靜態(tài)缺陷預(yù)測(cè)是根據(jù)在軟件中提取到的缺陷相關(guān)數(shù)據(jù),對(duì)模塊樣本的缺陷傾向性或缺陷數(shù)目進(jìn)行預(yù)測(cè);相對(duì)而言動(dòng)態(tài)缺陷預(yù)測(cè)方法關(guān)注的是軟件缺陷隨時(shí)間的動(dòng)態(tài)變化,它根據(jù)軟件生命周期中缺陷的發(fā)生時(shí)間來(lái)預(yù)測(cè)缺陷隨時(shí)間變化如何分布。動(dòng)態(tài)缺陷預(yù)測(cè)通常需要經(jīng)過(guò)一段時(shí)間的測(cè)試,根據(jù)測(cè)試出的軟件缺陷及其分布進(jìn)行預(yù)測(cè),相對(duì)來(lái)說(shuō)預(yù)測(cè)結(jié)果較為準(zhǔn)確,,但對(duì)項(xiàng)目人員來(lái)說(shuō)有些滯后,很多決策不能及時(shí)落實(shí)。靜態(tài)缺陷預(yù)測(cè)只需對(duì)軟件規(guī)模、復(fù)雜度等靜態(tài)信息進(jìn)行度量便可進(jìn)行預(yù)測(cè),能夠給項(xiàng)目管理者提供更好的決策支持。(1)靜態(tài)軟件缺陷預(yù)測(cè)技術(shù)靜態(tài)缺陷預(yù)測(cè)技術(shù)[19]是挖掘軟件歷史倉(cāng)庫(kù),提取與軟件缺陷相關(guān)的度量信息,建立起分類(lèi)模型并對(duì)模塊的缺陷傾向性或缺陷數(shù)目進(jìn)行分析預(yù)測(cè)。圖 2.1 是靜態(tài)軟件缺陷預(yù)測(cè)的流程,主要有兩個(gè)步驟:(一)度量元的設(shè)計(jì)與選擇過(guò)程:根據(jù)軟件源代碼以及相關(guān)歷史數(shù)據(jù)信息劃分軟件模塊,并對(duì)這些模塊進(jìn)行度量和缺陷標(biāo)記,有缺陷傾向性的模塊我們標(biāo)記為 1,無(wú)缺陷傾向性的模塊標(biāo)記為 0。(二)分類(lèi)預(yù)測(cè)模型的構(gòu)建過(guò)程:借助機(jī)器學(xué)習(xí)的方法對(duì)上述標(biāo)記數(shù)據(jù)進(jìn)行學(xué)習(xí),建立分類(lèi)模型,對(duì)無(wú)標(biāo)記的模塊進(jìn)行預(yù)測(cè)。
跨版本軟件缺陷預(yù)測(cè)技術(shù)研究 特征選擇方法征選擇算法一般包含四個(gè)步聚:生成特征子集、評(píng)價(jià)特征子集、算法停止準(zhǔn)則、有。其中特征子集的搜索策略和評(píng)價(jià)標(biāo)準(zhǔn)是最重要的兩個(gè)階段,圖 2.2 為特征選擇的。由特征全集生成特征子集時(shí),可以采用前向搜索、反向搜索、雙向搜索和啟發(fā)式按照子集評(píng)價(jià)方法的不同,特征選擇方法大概包括三類(lèi):過(guò)濾式(Filter)、包裝pper)和嵌入式。
【學(xué)位授予單位】:南京航空航天大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類(lèi)號(hào)】:TP311.5
本文編號(hào):2607119
【圖文】:
南京航空航天大學(xué)全日制專(zhuān)業(yè)學(xué)位碩士學(xué)位論文潛在的缺陷。現(xiàn)階段軟件缺陷預(yù)測(cè)方法基本可以分為兩大類(lèi):靜態(tài)缺陷預(yù)測(cè)和動(dòng)態(tài)缺陷預(yù)測(cè)。靜態(tài)缺陷預(yù)測(cè)是根據(jù)在軟件中提取到的缺陷相關(guān)數(shù)據(jù),對(duì)模塊樣本的缺陷傾向性或缺陷數(shù)目進(jìn)行預(yù)測(cè);相對(duì)而言動(dòng)態(tài)缺陷預(yù)測(cè)方法關(guān)注的是軟件缺陷隨時(shí)間的動(dòng)態(tài)變化,它根據(jù)軟件生命周期中缺陷的發(fā)生時(shí)間來(lái)預(yù)測(cè)缺陷隨時(shí)間變化如何分布。動(dòng)態(tài)缺陷預(yù)測(cè)通常需要經(jīng)過(guò)一段時(shí)間的測(cè)試,根據(jù)測(cè)試出的軟件缺陷及其分布進(jìn)行預(yù)測(cè),相對(duì)來(lái)說(shuō)預(yù)測(cè)結(jié)果較為準(zhǔn)確,,但對(duì)項(xiàng)目人員來(lái)說(shuō)有些滯后,很多決策不能及時(shí)落實(shí)。靜態(tài)缺陷預(yù)測(cè)只需對(duì)軟件規(guī)模、復(fù)雜度等靜態(tài)信息進(jìn)行度量便可進(jìn)行預(yù)測(cè),能夠給項(xiàng)目管理者提供更好的決策支持。(1)靜態(tài)軟件缺陷預(yù)測(cè)技術(shù)靜態(tài)缺陷預(yù)測(cè)技術(shù)[19]是挖掘軟件歷史倉(cāng)庫(kù),提取與軟件缺陷相關(guān)的度量信息,建立起分類(lèi)模型并對(duì)模塊的缺陷傾向性或缺陷數(shù)目進(jìn)行分析預(yù)測(cè)。圖 2.1 是靜態(tài)軟件缺陷預(yù)測(cè)的流程,主要有兩個(gè)步驟:(一)度量元的設(shè)計(jì)與選擇過(guò)程:根據(jù)軟件源代碼以及相關(guān)歷史數(shù)據(jù)信息劃分軟件模塊,并對(duì)這些模塊進(jìn)行度量和缺陷標(biāo)記,有缺陷傾向性的模塊我們標(biāo)記為 1,無(wú)缺陷傾向性的模塊標(biāo)記為 0。(二)分類(lèi)預(yù)測(cè)模型的構(gòu)建過(guò)程:借助機(jī)器學(xué)習(xí)的方法對(duì)上述標(biāo)記數(shù)據(jù)進(jìn)行學(xué)習(xí),建立分類(lèi)模型,對(duì)無(wú)標(biāo)記的模塊進(jìn)行預(yù)測(cè)。
跨版本軟件缺陷預(yù)測(cè)技術(shù)研究 特征選擇方法征選擇算法一般包含四個(gè)步聚:生成特征子集、評(píng)價(jià)特征子集、算法停止準(zhǔn)則、有。其中特征子集的搜索策略和評(píng)價(jià)標(biāo)準(zhǔn)是最重要的兩個(gè)階段,圖 2.2 為特征選擇的。由特征全集生成特征子集時(shí),可以采用前向搜索、反向搜索、雙向搜索和啟發(fā)式按照子集評(píng)價(jià)方法的不同,特征選擇方法大概包括三類(lèi):過(guò)濾式(Filter)、包裝pper)和嵌入式。
【學(xué)位授予單位】:南京航空航天大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2018
【分類(lèi)號(hào)】:TP311.5
【參考文獻(xiàn)】
相關(guān)期刊論文 前6條
1 劉建偉;劉媛;羅雄麟;;半監(jiān)督學(xué)習(xí)方法[J];計(jì)算機(jī)學(xué)報(bào);2015年08期
2 莊福振;羅平;何清;史忠植;;遷移學(xué)習(xí)研究進(jìn)展[J];軟件學(xué)報(bào);2015年01期
3 周志華;;基于分歧的半監(jiān)督學(xué)習(xí)[J];自動(dòng)化學(xué)報(bào);2013年11期
4 洪佳明;陳炳超;印鑒;;一種結(jié)合半監(jiān)督Boosting方法的遷移學(xué)習(xí)算法[J];小型微型計(jì)算機(jī)系統(tǒng);2011年11期
5 李大鵬;郭平;陳新宇;;一種集成類(lèi)層次和系統(tǒng)層次的面向?qū)ο筌浖䦶?fù)雜性度量集[J];計(jì)算機(jī)研究與發(fā)展;2010年S1期
6 羅云鋒;賁可榮;;軟件故障靜態(tài)預(yù)測(cè)方法綜述[J];計(jì)算機(jī)科學(xué)與探索;2009年05期
相關(guān)碩士學(xué)位論文 前2條
1 劉樹(shù)龍;特征選擇在軟件缺陷預(yù)測(cè)中的應(yīng)用技術(shù)研究[D];南京大學(xué);2015年
2 秦麗娜;軟件缺陷靜態(tài)預(yù)測(cè)研究[D];華中師范大學(xué);2011年
本文編號(hào):2607119
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2607119.html
最近更新
教材專(zhuān)著