[發明專利]一種基于分層數據篩選的跨項目軟件缺陷預測方法在審
| 申請號: | 202010550580.7 | 申請日: | 2020-06-16 |
| 公開(公告)號: | CN111581116A | 公開(公告)日: | 2020-08-25 |
| 發明(設計)人: | 祝義;趙宇 | 申請(專利權)人: | 江蘇師范大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06K9/62 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 221000 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 分層 數據 篩選 項目 軟件 缺陷 預測 方法 | ||
本發明公開了一種基于分層數據篩選的跨項目軟件缺陷預測方法,針對跨項目軟件缺陷預測方法中項目之間以及實例之間的差異性降低缺陷預測性能的問題。該方法將訓練數據的篩選過程分為項目層篩選和實例層篩選,首先從其他數據集中按照最近鄰算法選出與目標項目數據分布最接近的候選項目集,其次在候選項目集中按照相關程度高低選出與目標項目中實例相似度較高的訓練實例集,最后使用訓練實例集結合樸素貝葉斯算法訓練出缺陷預測模型。使用該模型在Promise數據集上進行缺陷預測,該方法有效降低了跨項目的訓練數據和目標數據的分布差異。
技術領域
本發明屬于軟件工程領域,具體涉及一種基于分層數據篩選的跨項目軟件缺陷預測方法
背景技術
軟件缺陷產生于開發人員的編碼過程,軟件需求理解不正確、軟件開發過程不合理或開發人員的經驗不足,均有可能引入軟件缺陷。含有缺陷的軟件在部署后可能會產生意料之外的結果或行為,嚴重時會給企業造成巨大的經濟損失,甚至是威脅人們的生命安全。在軟件開發的生命周期中,檢測出軟件缺陷的時間越晚,缺陷修復的代價越大。尤其是在軟件部署后,檢測和修復缺陷的代價將成指數級增加。因此企業設置專門的測試部門或質量保證部門花費大量的人力物力借助軟件測試或者代碼審查等方法希望能在軟件部署前能夠找到軟件中潛在的錯誤程序模塊。
軟件缺陷預測是一種可行方法,根據軟件歷史開發數據以及已發現的缺陷,借助機器學習等方法來預測出軟件項目內的潛在缺陷程序模塊。軟件缺陷預測是當前軟件測試領域和機器學習緊密結合的一個研究熱點,目的是希望能夠在項目開發的早期階段預測出某些模塊中是否含有缺陷,從而合理地分配測試資源,最大化資源利用率。
目前大部分的研究都關注項目內缺陷預測問題(Within Project DefectPrediction,WPDP),也就是選擇同一項目的部分數據集作為訓練數據,剩下的部分作為測試數據來構建模型。通常構建一個性能較好的缺陷預測模型需要大量的訓練實例,而現實中收集并且標注足夠多的訓練數據相當困難。一方面一些新開發的軟件項目只含有很少的訓練數據,同時也沒有歷史數據作為訓練數據,另一方面標記數據需要耗費大量的人力物力且這個過程容易出錯。最重要的一點是使用此種方法構建的模型難以在其他項目上進行缺陷預測,即此種模型不具備普適性。
針對此實際問題有學者提出了跨項目缺陷預測(Cross Project DefectPrediction,CPDP),即從其他軟件項目中選擇合適的數據集作為訓練數據來訓練缺陷預測模型,然后用于預測目標項目是否含有缺陷。一種簡單的跨項目缺陷預測方案是直接使用其他的軟件項目的缺陷數據來為目標項目構建缺陷預測模型,但由于不同的軟件項目的特征并不相同,例如項目的應用領域、采用的開發流程、使用的編程語言以及開發人員的經驗等等,所以源項目和目標項目的數據集存在很大的度量元分布差異,難以滿足傳統缺陷預測模型的獨立同分布假設,因此如何從源項目中遷移出與目標項目相關的知識,減小源項目與目標項目的數據分布差異性成為研究人員的熱點。
發明內容
本發明目的:針對現有技術的的不足,對其中訓練數據集的選擇方法進行了改進,提出了一種基于分層數據篩選的跨項目軟件缺陷預測方法,該方法有效降低了源項目和目標項目之間的數據分布差異性。
技術方案:一種基于分層數據篩選的跨項目軟件缺陷預測方法,包括以下步驟:
步驟1:從軟件缺陷數據集中選擇訓練集(源項目集)和測試集(目標項目集),并且對所有項目集數據進行log變換;
步驟2:提取所有項目屬性的分布特征向量和項目分布向量,計算源項目與目標項目之間的相似度,選擇與目標項目最相似的k個源項目集得到候選源項目集;
步驟3:合并k個候選源項目集,計算源項目中所有實例與目標項目實例相關程度,選擇與目標項目中實例相關程度最高的h個實例得到候選實例集;
步驟4:使用候選實例集訓練樸素貝葉斯模型;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于江蘇師范大學,未經江蘇師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010550580.7/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





