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