[發明專利]一種基于Adaboost的軟件缺陷預測方法有效
| 申請號: | 202010431568.4 | 申請日: | 2020-05-20 |
| 公開(公告)號: | CN111679971B | 公開(公告)日: | 2021-07-20 |
| 發明(設計)人: | 吳玉美;常碩;劉斌 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06K9/62 |
| 代理公司: | 北京慕達星云知識產權代理事務所(特殊普通合伙) 11465 | 代理人: | 曹鵬飛 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 adaboost 軟件 缺陷 預測 方法 | ||
本發明公開了一種基于Adaboost的軟件缺陷預測方法,首先將數據集中的大類樣本按信息量大小分成若干個組,接著分別用每組數據訓練當前集成分類器獲得本輪樣本懲罰參數;再用本組數據訓練并由本輪得到的樣本懲罰參數計算本輪迭代中的分類器和誤差率,最終獲得分類器。本發明在數據訓練過程中樣本懲罰參數只代表了本輪迭代的訓練數據在當前集成分類器中是否能夠被正確分類。并且在數據處理過程中基于樸素貝葉斯理論識別出并刪除數據中信息量小的樣本,這些樣本是造成數據類不平衡、噪聲等問題的主要原因,因此,本發明的數據處理方法有效地同時解決了類不平衡問題、噪聲等數據分布問題,有效地提高了數據處理效率。
技術領域
本發明涉及軟件可靠性與軟件缺陷預測技術領域,更具體的說是涉及一種基于Adaboost的軟件缺陷預測方法。
背景技術
由于軟件產品抽象的特殊性,人們不能直觀地找出并修改軟件中潛藏的所有缺陷,保證軟件產品的可靠性。要獲得一個高可靠性的軟件產品,只能通過控制軟件的設計、開發、測試過程來實現。其中,軟件測試是發現缺陷、提高軟件可靠性的重要手段,全面詳細的軟件測試可以在軟件投入使用前找出軟件中85%~95%的缺陷,最大程度地保證軟件可靠運行,降低由于軟件故障或失效造成的財產損失甚至人員傷亡。然而,隨著軟件的體量越來越大,測試的難度也越來越高,有限的資源不能再支持測試人員全面詳細地測試系統中的每一個軟件模塊。
軟件缺陷預測領域中面對的重大阻礙之一即歷史數據類不平衡分布問題。類不平衡問題是指,在軟件缺陷預測的過程中,軟件缺陷數據的質量直接影響著分類算法的效果,會導致關鍵模塊不能得到充分的測試,一旦帶有缺陷的軟件投入使用,將引發嚴重后果。軟件缺陷數據對分類算法最顯著的影響就是數據類分布的不平衡問題,但也有研究表明阻礙分類結果進一步優化的數據問題并不單純是由類不平衡一個問題造成的,樣本類重疊、噪聲、離群點等問題往往會伴隨著數據類不平衡問題出現,并影響分類算法的分類效果。但是,現有數據處理方法都是對數據類不平衡分布、噪聲處理等某一種問題提出的,不能夠同時解決數據中的噪聲、冗余等多種分布問題,因此,選擇一種數據處理方法難以將歷史數據處理達到最理想程度。
對于現有的基于Adaboost的缺陷預測方法,Adaboost算法是一種集成學習算法,其原理是運用加法模型和向前分布算法將一系列弱分類器線性相加,最終獲取一個強分類器。分析Adaboost算法過程可知,盡管Adaboost在缺陷預測領域有較好的預測效果,但是算法訓練的目標是使損失函數降到最低,從而得到最高的準確率,每次迭代使用相同的全體數據對弱分類器進行訓練。這種方法可能存在的不足在于如果數據不平衡分布,被不平衡數據訓練的弱分類器會輕易地受到不平衡分布影響,為了得到更高的準確率從而犧牲小類樣本的查準率。同時隨著迭代次數的增多,每次迭代產生的樣本懲罰系數ωm只能表征樣本當前形成的集成分類器分類的懲罰權重,也即每次迭代中大類樣本與小類樣本被錯分懲罰系數相同,因此集成分類器整體對大類樣本的傾斜不會隨著迭代次數的增加而改善。由于在軟件缺陷預測中,錯誤識別一個小類樣本造成的損失遠遠大于錯誤識別一個大類樣本,因此Adaboost中的這個問題正是軟件缺陷預測中不能接受的。
因此,如何獲得一種在樣本量較小時能夠在測試工作開始實施之前,對軟件模塊是否可能存在缺陷進行合理預測,重點關注預測中可能存在缺陷的模塊,合理地分配測試資源,從而有效降低測試成本的軟件缺陷預測方法是本領域技術人員亟需解決的問題。
發明內容
有鑒于此,本發明提供了一種基于Adaboost的軟件缺陷預測方法,能夠靈活應對數據集樣本量等分布特征變化的方法,這種方法在克服樸素貝葉斯算法受數據分布影響大的同時,提升Adaboost分類算法對小類樣本的查準能力。本發明的軟件缺陷預測方法改變了Adaboost算法每輪迭代使用的訓練數據,對算法本身的理論結構不產生影響,并且在數據處理過程中基于樸素貝葉斯理論識別出數據中信息量小的樣本,有效地解決了類不平衡問題、噪聲等數據分布問題,有效提高了數據處理效率。
為了實現上述目的,本發明采用如下技術方案:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010431568.4/2.html,轉載請聲明來源鉆瓜專利網。





