[發明專利]基于鄰域嵌入保護算法支持向量機的軟件缺陷預測方法有效
| 申請號: | 201711250307.7 | 申請日: | 2017-12-01 |
| 公開(公告)號: | CN107957946B | 公開(公告)日: | 2020-10-20 |
| 發明(設計)人: | 單純;胡昌振;熊雯潔;位華;雷敏 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06K9/62 |
| 代理公司: | 北京理工大學專利中心 11120 | 代理人: | 高燕燕 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 鄰域 嵌入 保護 算法 支持 向量 軟件 缺陷 預測 方法 | ||
本發明提出一種基于鄰域嵌入保護算法支持向量機的軟件缺陷預測方法,用于解決軟件度量數據冗余的問題。包括:從軟件缺陷預測數據集中選擇訓練集X1和測試集X2;采用NPE算法對所述訓練集X1和測試集X2進行降維;將降維后的訓練集Y1作為訓練輸入集,使用支持向量機SVM進行訓練,獲得經過訓練后的缺陷預測模型;將降維后的測試集Y2作為測試輸入集,使用訓練后的缺陷預測模型進行預測,將預測結果與實際結果進行比較,如果預測結果滿足終止條件,則此時的軟件缺陷預測模型為最優軟件缺陷預測模型;否則,重新執行SVM訓練進行優化。
技術領域
本發明涉及一種基于鄰域嵌入保護算法支持向量機的軟件缺陷預測方法,屬于軟件預測技術領域。
背景技術
軟件缺陷:IEEE729-1983對缺陷有一個標準的定義,從產品內部看,缺陷是軟件產品開發或維護過程中存在的錯誤、毛病等各種問題;從產品外部看,缺陷是軟件系統與其原本所需要實現的某種功能的失效或違背。
靜態預測:靜態軟件缺陷預測技術是出現較早也是目前研究和應用最多的預測技術,其主要基于提取軟件相關的度量信息建立相應的預測模型進行缺陷預測。
基于機器學習的預測模型:基于機器學習的預測模型主要通過選取適當的學習算法針對歷史的缺陷信息進行學習,以建立相應的預測模型從而對未知的模塊進行缺陷相關的預測。
數據冗余:數據冗余是指數據之間的重復,也可以說是同一數據存儲在不同數據文件中的現象。在本專利中具體指重復的軟件度量信息。在軟件缺陷預測過程中,過多的度量屬性將會導致數據冗余,從而導致較高的預測成本和較低的預測精度。
維數:又稱維度,在此指度量信息中獨立參數的數目。
支持向量機(SVM):SVM方法是通過一個非線性映射p,把樣本空間映射到一個高維乃至無窮維的特征空間中,使得在原來的樣本空間中非線性可分的問題轉化為在特征空間中的線性可分的問題。它通常用來進行模式識別、分類以及回歸分析。
領域嵌入保護算法(NPE):NPE算法的主要思想就是在高維的空間中,每個數據點由K個鄰域表示。當維度降低后,每個最近鄰點的權重都將保持不變,重構維數被簡化為對應數據點,使得重構誤差最小。它是處理高維數據的一種重要方法,NPE算法可以在維數降低過程中保持數據的局部幾何結構不變。
軟件缺陷分布預測在軟件開發過程中起著重要的作用,對缺陷軟件模塊的及時準確預測將能夠大大提高軟件測試資源的有效配置。靜態分析能夠在軟件發布前發現軟件中存在的缺陷,且不會降低軟件運行的效率。因此近年來,許多研究人員通過提取軟件模塊的軟件度量屬性形成訓練樣本,并利用機器學習技術構建軟件缺陷分布預測模型,將機器學習技術應用于軟件缺陷靜態預測領域。
為了更準確地預測軟件中的各種缺陷以提高軟件的質量,降低高維軟件度量數據的維度是非常有必要的事情。流形學習是處理高維數據的一種重要方法,它可以發現隱藏在高維軟件度量數據中的真實結構。經過降維之后的度量數據需要使用機器學習的方法構建預測模型對其進行分類。傳統的缺陷預測模型主要指在缺陷數據充足的情況下,利用常用的有監督的機器學習算法,對同一軟件中的缺陷數據進行訓練和預測的模型,是目前研究最為廣泛以及應用最多的模型。其中常用到的機器學習算法主要包括決策樹(DT)、隨機森林(RF)、樸素貝葉斯(NB)、邏輯回歸(LR)、支持向量機(SVM)等。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711250307.7/2.html,轉載請聲明來源鉆瓜專利網。





