基于半監(jiān)督學習和投票決策理論的軟件缺陷預測
發(fā)布時間:2023-03-28 18:55
軟件缺陷預測是一項重要的質量保證技術,它通過利用軟件倉庫中的歷史數據和已經發(fā)現的相關缺陷信息,來預測軟件模塊中可能存在的缺陷。但是,大多數的缺陷預測技術,都假設有大量的歷史數據已知缺陷信息;但在實際情況中,在軟件開發(fā)的早期,軟件項目往往缺少這樣的缺陷信息。另外,當前大多數研究者在評價缺陷預測性能時,并沒有考慮工作量感知的問題,這使得缺陷預測技術在實際應用中不能合理利用。對于上述兩個問題,本研究提供了一種新的基于半監(jiān)督學習和投票決策理論的缺陷預測技術。它采用Self-training思想,結合Boosting過程,將傳統的監(jiān)督學習方法隨機森林(Random Forest)算法改進為一種半監(jiān)督學習算法——extRF,并引入投票決策理論,將隨機森林中每一棵子決策樹作為投票者,采用一定的集體決策規(guī)則,來預測軟件缺陷模塊排序。本文的主要貢獻和創(chuàng)新點包括:1)研究提出了基于Self-training的思想,用訓練得到的初始模型預測未知缺陷信息的數據樣本,然后選擇可靠的數據樣本加入到原數據集中,用擴充后的訓練集來重新優(yōu)化模型。2)研究提出了將提升算法(Boosting)引入到隨機森林模型中,迭代地決...
【文章頁數】:80 頁
【學位級別】:碩士
【文章目錄】:
摘要
abstract
1 緒論
1.1 研究背景
1.2 研究現狀分析
1.2.1 有監(jiān)督、半監(jiān)督和無監(jiān)督的缺陷預測方法
1.2.2 基于分類和基于排序的缺陷預測方法
1.2.3 缺陷預測模型的特征選擇
1.3 研究目標和總體思路
1.4 論文結構
2 基于半監(jiān)督學習的軟件缺陷分類預測
2.1 相關技術
2.1.1 樸素貝葉斯模型
2.1.2 邏輯回歸模型
2.1.3 決策樹
2.1.4 隨機森林算法
2.2 軟件缺陷分類預測方法
2.3 改進的隨機森林算法extRF
2.3.1 算法步驟
2.3.2 數據樣本的自動標注和選擇
2.3.3 提升過程
2.3.4 算法偽代碼
2.4 特征集
2.4.1 靜態(tài)代碼度量特征
2.4.2 變更歷史度量特征
2.4.3 缺失值處理方法
2.5實驗
2.5.1 實驗數據
2.5.2 對比方法
2.5.3 分類能力評價指標
2.5.4 實驗結果
2.6 本章小結
3 基于無監(jiān)督學習的軟件缺陷模塊投票排序
3.1 相關技術
3.1.1 投票排序和集體決策規(guī)則
3.1.2 Spearman秩相關系數
3.2 投票者和投票策略的選擇
3.2.1 投票者的選擇
3.2.2 投票策略
3.3 基于投票排序的軟件缺陷模塊排序
3.4 實驗
3.4.1 實驗設計
3.4.2 軟件度量特征的選擇
3.4.3 實驗結果
3.5 本章小結
4 結合半監(jiān)督學習和投票決策理論的軟件缺陷模塊排序
4.1 軟件缺陷模塊排序方法
4.2 基于排序的extRF算法
4.2.1 算法步驟
4.2.2 數據樣本選擇策略
4.2.3 提升過程
4.2.4 軟件缺陷模塊排序
4.2.5 算法偽代碼
4.3 實驗
4.3.1 實驗數據
4.3.2 實驗設計
4.3.3 實驗結果
4.4 本章小結
5 總結與展望
5.1 本文工作小結
5.2 展望
參考文獻
致謝
攻讀學位期間發(fā)表的學術論文
本文編號:3773089
【文章頁數】:80 頁
【學位級別】:碩士
【文章目錄】:
摘要
abstract
1 緒論
1.1 研究背景
1.2 研究現狀分析
1.2.1 有監(jiān)督、半監(jiān)督和無監(jiān)督的缺陷預測方法
1.2.2 基于分類和基于排序的缺陷預測方法
1.2.3 缺陷預測模型的特征選擇
1.3 研究目標和總體思路
1.4 論文結構
2 基于半監(jiān)督學習的軟件缺陷分類預測
2.1 相關技術
2.1.1 樸素貝葉斯模型
2.1.2 邏輯回歸模型
2.1.3 決策樹
2.1.4 隨機森林算法
2.2 軟件缺陷分類預測方法
2.3 改進的隨機森林算法extRF
2.3.1 算法步驟
2.3.2 數據樣本的自動標注和選擇
2.3.3 提升過程
2.3.4 算法偽代碼
2.4 特征集
2.4.1 靜態(tài)代碼度量特征
2.4.2 變更歷史度量特征
2.4.3 缺失值處理方法
2.5實驗
2.5.1 實驗數據
2.5.2 對比方法
2.5.3 分類能力評價指標
2.5.4 實驗結果
2.6 本章小結
3 基于無監(jiān)督學習的軟件缺陷模塊投票排序
3.1 相關技術
3.1.1 投票排序和集體決策規(guī)則
3.1.2 Spearman秩相關系數
3.2 投票者和投票策略的選擇
3.2.1 投票者的選擇
3.2.2 投票策略
3.3 基于投票排序的軟件缺陷模塊排序
3.4 實驗
3.4.1 實驗設計
3.4.2 軟件度量特征的選擇
3.4.3 實驗結果
3.5 本章小結
4 結合半監(jiān)督學習和投票決策理論的軟件缺陷模塊排序
4.1 軟件缺陷模塊排序方法
4.2 基于排序的extRF算法
4.2.1 算法步驟
4.2.2 數據樣本選擇策略
4.2.3 提升過程
4.2.4 軟件缺陷模塊排序
4.2.5 算法偽代碼
4.3 實驗
4.3.1 實驗數據
4.3.2 實驗設計
4.3.3 實驗結果
4.4 本章小結
5 總結與展望
5.1 本文工作小結
5.2 展望
參考文獻
致謝
攻讀學位期間發(fā)表的學術論文
本文編號:3773089
本文鏈接:http://www.sikaile.net/guanlilunwen/lindaojc/3773089.html