999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于代價敏感神經網絡算法的軟件缺陷預測

2012-01-19 12:14:52繆林松
電子科技 2012年6期

繆林松

(南京航空航天大學計算機科學與技術學院,江南南京 210016)

基于代價敏感神經網絡算法的軟件缺陷預測

繆林松

(南京航空航天大學計算機科學與技術學院,江南南京 210016)

軟件缺陷預測作為軟件工程領域的重要研究內容已有近30年。近年來,隨著機器學習技術的發展,傳統機器學習技術基于靜態代碼屬性的軟件缺陷預測領域得到廣泛應用。然而,傳統的機器學習算法并未考慮軟件缺陷預測過程中,常見的代價敏感問題與類不均衡問題。文中將基于過采樣技術和閾值移動技術的代價敏感神經網絡算法應用于軟件缺陷預測領域,從而解決該領域的代價敏感問題與類不均衡問題。在NASA軟件缺陷預測標準數據集上的實驗證明了其有效性。

軟件缺陷預測;代價敏感神經網絡;代價敏感;類不均衡

軟件缺陷預測,即自動識別軟件系統中含有缺陷的模塊,以此有效分配有限的測試資源。隨著軟件規模和復雜度的增加,軟件缺陷預測成為軟件工程領域的研究熱點。同時,機器學習技術的發展,機器學習技術被眾多研究人員應用于軟件缺陷預測領域[1-5]。與此同時,研究表明絕大多數軟件缺陷集中在少數比例的軟件模塊中[6]。Boehm指出軟件系統中20%的軟件模塊包含80%的軟件缺陷,這說明軟件缺陷預測領域存在嚴重的類不均衡問題[7]。此外,將有缺陷軟件模塊錯誤預測為無缺陷模塊造成的代價遠大于將無缺陷軟件模塊錯誤預測為有缺陷模塊造成的代價,前者將會使得軟件的發行版本中含有缺陷從而影響軟件可靠性,而后者僅將測試資源浪費在無缺陷模塊,這說明軟件缺陷預測領域存在著代價敏感問題。然而,傳統的機器學習技術是以取得高準確率為目標,其并未充分考慮軟件缺陷預測領域的代價敏感問題和類不均衡問題。

機器學習領域的研究表明,代價敏感學習技術可較好的解決代價敏感問題和類不均衡問題[8]。文中通過基于過采樣(Over-Sampling)技術和閾值移動(Threshold-Moving)技術的代價敏感反向傳播神經網絡 算 法 CSBNN[9]Cost - Sensitive Back Propagation Neural Networks)引入軟件缺陷預測領域,從而解決該領域存在的代價敏感問題與類不均衡問題。在NASA軟件缺陷預測標準數據集上的實驗結果充分證明CSBNN算法的有效性。

1 代價敏感神經網絡算法

假設有C類樣本,第i類訓練樣本的數目為Ni。令 Cost[i,c](i,c∈{1,…,C})表示將第 i類樣本錯分類為第c類樣本的代價,Cost[i]表示第i類樣本的重要性代價,則根據文獻[10~11]可以知道。

1.1 過采樣CSBNN

過采樣CSBNN算法通過改變訓練樣本的分布來解決代價敏感問題和類不均衡問題。概括的講,過采樣CSBNN算法通過復制代價較高類別的訓練樣本,從而實現不同類別的樣本數目與代價成比例的目的。

其中,λ類是需要復制樣本數目最小的類別,由式(2)判別。

1.2 閾值移動CSBNN

閾值移動CSBNN算法,簡稱CSBNN-2,將非代價敏感神經網絡的判決邊界向代價較低一類樣本的邊界偏移,從而降低代價較高一類樣本被分錯類的風險。與過采樣CSBNN算法不同,該算法在訓練階段不做代價敏感處理,而是在預測階段引入代價敏感信息。

令Oi(i∈{1,…,C})表示非代價敏感神經網絡各輸出單元只是輸出值,則且0≤Qi≤1。這樣,在標準神經網絡分類器中輸出的樣本類別是,在閾值移動算法中,輸出的類別則是計算如式(3)

1.3 NASA軟件缺陷預測應用

NASA軟件缺陷預測標準數據池中的每一數據集中包含若干樣本,每個樣本對應于一個軟件模塊,每個軟件模塊由若干靜態代碼屬性和標識軟件模塊中缺陷數量的屬性組成。每一數據集中標記的靜態代碼屬性主要有代碼行數(Loc)、Halstead屬性[12]和 McCabe屬性[13]。文中選擇在 NASA 數據池中的 CM1、KC3、MW1、PC1、PC3、PC46 個數據集上進行驗證試驗。可直接選擇 Promise中經過預處理的該6個數據集[14]。

在軟件缺陷預測應用中,預測結果可表示為如表1所示的混淆矩陣(Confusion Matrix)。在軟件缺陷預測中存在兩種類型的預測錯誤代價:

(1)錯誤接收代價CFP:將有缺陷模塊預測為無缺陷模塊造成的代價。

(2)錯誤拒絕代價CFN:將無缺陷模塊預測為有缺陷模塊造成的代價。

表1 軟件缺陷預測混淆矩陣

由上文分析,可以確定錯誤接收造成的代價要遠大于錯誤拒絕造成的代價,即通常情況下CFP>CFN。

按如下步驟將CSBNN-1、CSBNN-2算法應用至NASA軟件缺陷預測標準數據池中的6個數據集上:

(1)對由靜態代碼屬性表示的數據集中的樣本進行歸一化的預處理操作。

(2)將數據集劃分為訓練集與測試集兩部分。

(3)根據領域專家知識或用戶需要設定CFN、CFP的值,以此來控制CSBNN算法對不同類別樣本的錯誤控制。

(4)在訓練集上利用文中介紹的兩類CSBNN算法訓練用于軟件缺陷預測的分類器。

(5)利用第(4)步中訓練的分類器對測試集數據進行缺陷預測。

2 實驗

通過在NASA數據池中的6個數據集上的實驗說明,文中的CSBNN-1、CSBNN-2算法較傳統的非代價敏感神經網絡算法BNN(Back-propagation Neural Networks),在軟件缺陷預測應用中具有更好的處理代價敏感問題和類不均衡問題的能力。

實驗中,采用10次10折交叉驗證設置,即每次將數據集劃分10份,其中9份作為訓練樣本,1份作為測試樣本。最后的實驗結果為重復10次如上的操作取平均值。設定CFN=1,CFP=10。由于文中主要考察算法在處理代價敏感問題與類不均衡問題時的性能,因此文中采用錯分類總代價Cost、敏感度Sensitivity作為主要的評價標準。此外,記錄分類準確率Accuracy、特異度Specificity作為參考指標。敏感度與特異度的定義如式(4),式(5)所示

表2 實驗結果對比

表2記錄了 BNN、CSBNN-1、CSBNN-2這3種算法在NASA數據池中6個數據集上的實驗結果。其中BNN為非代價敏感算法,CSBNN-1和CSBNN-2算法為BNN算法的兩種代價敏感版本。從表2可以看出,較傳統的分類算法 BNN,代價敏感分類算法CSBNN-1與CSBNN-2能夠達到更小的錯分類代價。同時CSBNN-1、CSBNN-2算法能夠獲得更高的敏感度Sensitivity,由式(4)所示,敏感度越大,則錯誤接收的比率越小,說明代價敏感算法能夠較好地減少代價較高一類樣本的錯誤數目。同時觀察準確率Accuracy、特異度Specificity兩個指標,可以發現代價敏感分類算法CSBNN-1、CSBNN-2算法在提高代價較高一類樣本的同時更好的保證總的預測準確率,即并未明顯降低代價較小一類樣本的預測精度。通過以上的實驗結果與分析,可發現,較傳統的分類算法,代價敏感分類算法CSBNN-1、CSBNN-2能夠較好地解決軟件缺陷預測領域出現的代價敏感問題與類不均衡問題。同時,發現在不同的數據集上CSBNN-1、CSBNN-2兩者之間的性能各有優劣,兩者之間的選擇在機器學習領域也是個難題。然而,總體上代價敏感算法CSBNN-1、CSBNN-2要優于傳統分類算法BNN。

文中固定CFP/CFN=10/1,下面討論不同的代價比率對于CSBNN-1、CSBNN-2算法軟件缺陷預測中應用的影響。首先,設定CFN為1。然后,令CFP/CFN的值依次取{1,2,4,8,16,32,64}。CSBNN -1、CSBNN -2算法在 CM1、KC3、MW1、PC1數據集上的錯分類總代價隨代價比率變化的結果如圖1所示。在圖1中代價比率軸采用了對數刻度以更好說明問題。由圖1可看出,盡管CFP呈指數增長,兩種代價敏感算法的錯分類總代價并未隨著CFP指數增長。這說明代價敏感算法CSBNN-1、CSBNN-2能夠更好的控制代價較高一類錯誤的數目,且當代價比率越高控制的越好。

圖1 CSBNN-1、CSBNN-2錯分類總代和代價比率

3 結束語

針對傳統機器學習算法不能解決軟件缺陷預測普遍存在的代價敏感問題與類不均衡問題,以機器學習領域中代價敏感學習算法能夠同時解決代價敏感問題和類不均衡問題的理論為基礎,通過將代價敏感學習算法CSBNN-1、CSBNN-2引入軟件缺陷預測領域,利用該類算法同時解決軟件缺陷預測中存在的代價敏感問題和類不均衡問題。在NASA軟件缺陷預測標準數據集上的實驗結果說明CSBNN-1、CSBNN-2算法解決軟件缺陷預測領域的代價敏感問題與類不均衡問題的有效性。

[1]MENZIES T,GREENWALD J,FRANK A.Data mining static code attributes to learn defect predictors[J].IEEE Transaction on Software Engineering,2007,32(11):2 -13.

[2]LESSMANN S,BAESENS B,MUES C,et al.Benchmarking classification models for software defect prediction:a proposed framework and novel findings[J].IEEE Transactions on Software Engineering,2008,4(34):485 -496.

[3]KHOSHGOFTAAR T M,PANDYA A S,LANNING D L.Application of neural networks for predicting defects[J].Annals of Software Engineering,1995,1(1):141 -154.

[4]MENZIES T,DISTEFANO J,ORREGO A,et al.Assessing predictors of software defects[C].In Proceedings of Workshop on Predictive Software Models,2004.

[5]PORTER A,SELBY R W.Evaluating techniques for generating metric - based classification trees[J].Journal of Systems and Software,1997,12(2):166 -173.

[6]BOEHM B W,PAPACCIO P N.Understanding and controlling software costs[J].IEEE Transactions on Software Engineering,1988,14(10):1462 -1477.

[7]BOEHM B W.Industrial software metrics top 10 list[J].IEEE Software,1987,4(5):84 -85.

[8]MALOOF M A.Learning when data sets are imbalanced and when costs are unequal and unknown[C].Washington,DC:In Working Notes of the ICML'03 Workshop on Learning from Imbalanced Data Sets,2003,8:328 -334.

[9]ZHOU Z H,LIU X Y.Training cost- sensitive neural networks with methods addressing the class imbalance problem[J].IEEE Transactions on Knowledge and Data Engineering,2006,18(1):63 -77.

[10]BREIMAN L,FRIEDMAN J H,OLSHEN R A,et al.Classification and regression trees[M].Belmont,CA:Wadsworth,1984.

[11]TING K M.An instance-weighting method to induce costsensitive tree[J].IEEE Transactions on Knowledge and Data Engineering,2002,14(3):413 -425.

[12]MAURICE HOWARD HALSTEAD.Elements of software science[M].Elsevier University of Michigan,1977.

[13]MCCABE T J.A complexity measure.IEEE Transaction on Software Engineering[J].1976,2(4):308 -320.

[14]BOETTICHER G,MENZIES T,OSTRAND T.PROMISE Repository of empirical software engineering data[D/OL].USA:West Virginia University,2007.

Software Defect Prediction Based on Cost-Sensitive Neural Networks

MIAO Linsong
(College of Computer Science & Technology,Nanjing University of Aeronautics& Astronautics,Nanjing 210016,China)

Software defect prediction has been studied as an important research topic for 30 years in software engineering.Recently,with the development of machine learning techniques,traditional machine learning has been applied in software defect prediction based on static code attributes successfully.However,the traditional machine learning does not consider the cost-sensitive problem and class-imbalance problem in software defect prediction applications.We study the application of cost-sensitive neural networks based on over-sampling and threshold-moving to software defect prediction.The experimental results on NASA software defect prediction benchmarking dataset demonstrate the algorithm's efficacy.

software defect prediction;cost-sensitive neural networks;cost-sensitive;class-imbalance

TP391

A

1007-7820(2012)06-075-04

2011-12-24

繆林松(1986—),男,碩士研究生。研究方向:機器學習,模式識別。

主站蜘蛛池模板: 伊人91视频| 被公侵犯人妻少妇一区二区三区| 91亚洲精选| 国产成人1024精品下载| 波多野吉衣一区二区三区av| JIZZ亚洲国产| 亚洲无码高清免费视频亚洲| yy6080理论大片一级久久| 精品剧情v国产在线观看| 欧美一区二区啪啪| 日韩精品成人网页视频在线| 亚洲人视频在线观看| 国产免费羞羞视频| www.国产福利| 全部毛片免费看| 国产成人av大片在线播放| 黄色网页在线观看| 四虎在线高清无码| 欧美专区在线观看| 亚洲国产成人久久77| 青青草原国产| 午夜在线不卡| 亚洲天堂精品在线| 亚洲另类国产欧美一区二区| 亚洲av无码成人专区| 在线综合亚洲欧美网站| 成人国产一区二区三区| 国产超碰一区二区三区| www中文字幕在线观看| 五月激激激综合网色播免费| 国产95在线 | 欧美成人影院亚洲综合图| 在线观看国产黄色| 欧美一区精品| 国产H片无码不卡在线视频| 国产偷倩视频| 亚洲美女视频一区| 在线亚洲精品自拍| 直接黄91麻豆网站| 最新日韩AV网址在线观看| 好吊日免费视频| 午夜三级在线| 国产福利一区二区在线观看| 成人一级黄色毛片| 国产91熟女高潮一区二区| 久久夜色精品国产嚕嚕亚洲av| 四虎永久在线精品影院| 丁香六月综合网| 精品国产网| 国产成人亚洲综合a∨婷婷| 国产成人精品一区二区三区| 一本色道久久88综合日韩精品| 国产在线观看第二页| 国产精品55夜色66夜色| 久久久久久久久久国产精品| 91精品国产综合久久香蕉922| 国产美女一级毛片| 免费啪啪网址| 国产欧美精品一区aⅴ影院| 潮喷在线无码白浆| 99久久精品免费看国产电影| 在线国产资源| 无码AV日韩一二三区| 无码精品一区二区久久久| 国产主播喷水| 一级毛片免费高清视频| 在线免费观看AV| 国产欧美又粗又猛又爽老| 亚洲国产清纯| 欧美一级黄色影院| 五月综合色婷婷| 亚洲精品va| 国产日韩久久久久无码精品| 亚洲中文制服丝袜欧美精品| 日韩高清欧美| 深夜福利视频一区二区| 91偷拍一区| 国产夜色视频| 爱色欧美亚洲综合图区| 麻豆精品在线视频| 国产高清免费午夜在线视频| 午夜国产精品视频黄|