[發(fā)明專利]一種基于數(shù)據(jù)篩選和數(shù)據(jù)過(guò)采樣的跨項(xiàng)目缺陷預(yù)測(cè)方法有效
| 申請(qǐng)?zhí)枺?/td> | 201710571098.X | 申請(qǐng)日: | 2017-07-13 |
| 公開(kāi)(公告)號(hào): | CN107391369B | 公開(kāi)(公告)日: | 2020-03-24 |
| 發(fā)明(設(shè)計(jì))人: | 余嘯;劉進(jìn);伍蔓;崔曉暉;張建升;井溢洋 | 申請(qǐng)(專利權(quán))人: | 武漢大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 武漢科皓知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 42222 | 代理人: | 魏波 |
| 地址: | 430072 湖*** | 國(guó)省代碼: | 湖北;42 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 數(shù)據(jù) 篩選 采樣 項(xiàng)目 缺陷 預(yù)測(cè) 方法 | ||
1.一種基于數(shù)據(jù)篩選和數(shù)據(jù)過(guò)采樣的跨項(xiàng)目缺陷預(yù)測(cè)方法,其特征在于,包括以下步驟:
步驟1:抽取跨項(xiàng)目歷史軟件模塊,標(biāo)注所有的跨項(xiàng)目歷史軟件模塊是否有缺陷,標(biāo)記有缺陷的歷史軟件模塊的類標(biāo)號(hào)為Y,標(biāo)記無(wú)缺陷的歷史軟件模塊的類標(biāo)號(hào)為N;
步驟2:提取跨項(xiàng)目歷史軟件模塊的度量屬性;
步驟3:抽取本項(xiàng)目待預(yù)測(cè)軟件模塊,標(biāo)記為“?”;
步驟4:提取本項(xiàng)目待預(yù)測(cè)軟件模塊的度量屬性;
步驟5:對(duì)所有跨項(xiàng)目歷史軟件模塊數(shù)據(jù)和所有本項(xiàng)目待預(yù)測(cè)軟件模塊數(shù)據(jù)執(zhí)行凝聚型層次聚類AGENES算法,獲得篩選后的跨項(xiàng)目歷史軟件模塊數(shù)據(jù);
步驟5的具體實(shí)現(xiàn)包括以下子步驟:
步驟5.1:設(shè)置終止簇?cái)?shù)目,將所有跨項(xiàng)目歷史軟件模塊數(shù)據(jù)和所有本項(xiàng)目待預(yù)測(cè)軟件模塊數(shù)據(jù)中的每一個(gè)軟件模塊單獨(dú)當(dāng)作為一個(gè)簇;
步驟5.2:循環(huán)找到歐式距離最小的兩個(gè)簇,合并成新簇,直到簇?cái)?shù)達(dá)到終止簇?cái)?shù)目的預(yù)設(shè)值;
步驟5.3:選擇包含本項(xiàng)目待預(yù)測(cè)軟件模塊的簇中的所有跨項(xiàng)目歷史軟件模塊數(shù)據(jù),即為篩選后的跨項(xiàng)目歷史軟件模塊數(shù)據(jù);
步驟6:對(duì)篩選后的跨項(xiàng)目歷史軟件模塊數(shù)據(jù)進(jìn)行過(guò)采樣,使跨項(xiàng)目歷史軟件模塊數(shù)據(jù)平衡;
步驟6的具體實(shí)現(xiàn)包括以下子步驟:
步驟6.1:搜索類標(biāo)號(hào)為Y的篩選后的跨項(xiàng)目歷史軟件模塊Xi在同一個(gè)簇中的k個(gè)類標(biāo)號(hào)也為Y的近鄰軟件模塊,記為Xi(near);
步驟6.2:設(shè)定數(shù)據(jù)集的過(guò)采樣倍率m,m<k,即從Xi的k個(gè)類標(biāo)號(hào)也為Y的近鄰Xi(near)中隨機(jī)選取的m個(gè)軟件模塊進(jìn)行插值操作合成新的軟件模塊;新的軟件模塊的19維的度量屬性向量xinew=xi+rand(0,1)×(xi’-xi),其中,xi為Xi的19維的度量屬性向量,rand(0,1)為0與1之間的某一隨機(jī)數(shù),xi’為從Xi的k個(gè)缺陷數(shù)目也大于0的近鄰軟件模塊Xi(near)中隨機(jī)選擇的m個(gè)軟件模塊中的一個(gè)軟件模塊Xi’的19維的度量屬性向量;新合成的軟件模塊Xinew的類標(biāo)號(hào)為Y;
步驟6.3:對(duì)全部的T個(gè)類標(biāo)號(hào)為Y的篩選后的跨項(xiàng)目歷史軟件模塊重復(fù)步驟6.1和6.2的操作,共合成m×T個(gè)新的軟件模塊;
步驟7:令通過(guò)步驟5產(chǎn)生的篩選后的跨項(xiàng)目歷史軟件模塊數(shù)據(jù)和通過(guò)步驟6產(chǎn)生的新合成的軟件模塊數(shù)據(jù)為訓(xùn)練集D,基于訓(xùn)練集D訓(xùn)練出樸素貝葉斯預(yù)測(cè)模型;
步驟8:用訓(xùn)練得到的樸素貝葉斯預(yù)測(cè)模型預(yù)測(cè)本項(xiàng)目待預(yù)測(cè)軟件模塊X;
步驟8的具體實(shí)現(xiàn)包括以下子步驟:
步驟8.1:計(jì)算本項(xiàng)目待預(yù)測(cè)軟件模塊X有缺陷的后驗(yàn)概率:
其中xk為軟件模塊X在第k個(gè)度量屬性上的值;
計(jì)算本項(xiàng)目待預(yù)測(cè)軟件模塊X無(wú)缺陷的后驗(yàn)概率:
其中xk為軟件模塊X在第k個(gè)度量屬性上的值;
其中,類標(biāo)號(hào)為Y的軟件模塊在每個(gè)度量屬性Ak上的均值為μkY和標(biāo)準(zhǔn)差為σkY,類標(biāo)號(hào)為N的軟件模塊在每個(gè)度量屬性Ak上的均值為μkN和標(biāo)準(zhǔn)差為σkN;
步驟8.2:判定本項(xiàng)目待預(yù)測(cè)軟件模塊X是否有缺陷;
如果P(X|N)>P(X|Y),樸素貝葉斯分類方法判斷其類標(biāo)號(hào)為N,即該軟件模塊為無(wú)缺陷的軟件模塊;
如果P(X|N)<P(X|Y),樸素貝葉斯分類方法判斷其類標(biāo)記為Y,即該軟件模塊為有缺陷的軟件模塊。
2.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)篩選和數(shù)據(jù)過(guò)采樣的跨項(xiàng)目缺陷預(yù)測(cè)方法,其特征在于:步驟1中,歷史軟件模塊粒度根據(jù)實(shí)際應(yīng)用場(chǎng)景,設(shè)置為文件、包、類或函數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢大學(xué),未經(jīng)武漢大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710571098.X/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:一種航空機(jī)載軟件中源代碼與目標(biāo)代碼一致性的分析方法
- 下一篇:一種基于數(shù)據(jù)過(guò)采樣和集成學(xué)習(xí)的軟件缺陷數(shù)目預(yù)測(cè)方法
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





