孟 倩,馬小平
(1.中國(guó)礦業(yè)大學(xué)信電學(xué)院,江蘇 徐州 221008;2.江蘇師范大學(xué)計(jì)算科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
基于粗糙集-支持向量機(jī)的軟件缺陷預(yù)測(cè)*
孟 倩1,2,馬小平1
(1.中國(guó)礦業(yè)大學(xué)信電學(xué)院,江蘇 徐州 221008;2.江蘇師范大學(xué)計(jì)算科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
軟件缺陷預(yù)測(cè)已成為軟件工程的重要研究課題,構(gòu)造了一個(gè)基于粗糙集和支持向量機(jī)的軟件缺陷預(yù)測(cè)模型。該模型通過粗糙集對(duì)原樣本集進(jìn)行屬性約減,去掉冗余的和與缺陷預(yù)測(cè)無關(guān)的屬性,利用粒子群對(duì)支持向量機(jī)的參數(shù)做選擇。實(shí)驗(yàn)數(shù)據(jù)來源于NASA公共數(shù)據(jù)集,通過屬性約減,特征屬性由21個(gè)約減為5個(gè)。實(shí)驗(yàn)表明,屬性約減后,Bayes分類器、CART樹、神經(jīng)網(wǎng)絡(luò)和本文提出的粗糙集—支持向量機(jī)模型的預(yù)測(cè)性能均有所提高,本文提出的粗糙集支持向量機(jī)的預(yù)測(cè)性能好于其他三個(gè)模型。
粗糙集;支持向量機(jī);軟件缺陷;預(yù)測(cè);粒子群
軟件已經(jīng)成為影響國(guó)民經(jīng)濟(jì)、軍事、社會(huì)生活的重要因素。高可靠性和復(fù)雜的軟件系統(tǒng)非常依賴于所采用軟件的可靠性。根據(jù)ISO 9000的定義,軟件缺陷(Defect)是指“未滿足與預(yù)期或者規(guī)定用途有關(guān)的要求”,是導(dǎo)致軟件系統(tǒng)出錯(cuò)、失效、崩潰甚至機(jī)毀人亡的潛在根源[1]。軟件缺陷預(yù)測(cè)技術(shù)是根據(jù)歷史數(shù)據(jù)以及已經(jīng)發(fā)現(xiàn)的缺陷等軟件度量數(shù)據(jù),預(yù)測(cè)哪些模塊有出錯(cuò)傾向,對(duì)軟件開發(fā)者合理配置資源,從而降低研發(fā)成本、縮短產(chǎn)品開發(fā)周期和提高軟件質(zhì)量起到重要作用。
軟件缺陷預(yù)測(cè)本質(zhì)上是一個(gè)模式識(shí)別的過程,它的核心是分類,目前用于軟件缺陷預(yù)測(cè)的方法有Bayes分類器[2]、分類回歸樹[3]、聚類分析[4]和神經(jīng)網(wǎng)絡(luò)[5]等。由于軟件缺陷受到多種復(fù)雜度度量屬性的綜合作用, 至今尚沒有一種軟件缺陷預(yù)測(cè)的通用的分類模型。近年來,用支持向量機(jī)SVM(Support Vector Machine)來實(shí)現(xiàn)基于分類問題的預(yù)測(cè)已經(jīng)成為研究熱點(diǎn)。SVM是一種通用的前饋神經(jīng)網(wǎng)絡(luò),其核心是經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原則,有效地解決了小樣本、高維數(shù)、非線性等學(xué)習(xí)問題,它由Vapnik V N在1992年首次提出[6],可以用于模式分類和非線性回歸。近年來,各國(guó)學(xué)者開始用SVM進(jìn)行軟件可靠性方面的預(yù)測(cè)。國(guó)際上,Gray D等人[7]利用支持向量機(jī)對(duì)軟件缺陷進(jìn)行預(yù)測(cè)取得了不錯(cuò)的效果;Mishra B等人[8]提出用于軟件可靠性預(yù)測(cè)的模糊支持向量機(jī)。國(guó)內(nèi)崔正斌等人[9]提出了遺傳優(yōu)化支持向量機(jī)軟件可靠性模型;張艷等人[10]將支持向量機(jī)回歸模型用于測(cè)控軟件故障預(yù)測(cè)。
作為一種新的學(xué)習(xí)機(jī)器,SVM也存在一些有待完善的地方,SVM的性能與其參數(shù)的選擇密切相關(guān),而其參數(shù)選取沒有理論上的指導(dǎo)。本文應(yīng)用粒子群PSO(Particle Swarm Optimization)來進(jìn)行支持向量分類機(jī)參數(shù)選擇。SVM方法另一不足之處是,由于SVM在訓(xùn)練中需要進(jìn)行大量的矩陣運(yùn)算,當(dāng)處理的數(shù)據(jù)量過大時(shí),SVM的訓(xùn)練時(shí)間過長(zhǎng)、速度變慢[11]。波蘭科學(xué)院院士Pawlak Z教授于1982 年提出的粗糙集理論RS(Rough Sets)是繼概率論、模糊集、證據(jù)理論之后的又一個(gè)刻畫不完整性和不確定性的數(shù)學(xué)工具,它不需要任何先驗(yàn)知識(shí),可分析出信息間相互關(guān)系,可以在保持分類能力不變的條件下進(jìn)行屬性約簡(jiǎn),達(dá)到數(shù)據(jù)信息精煉化的目的[12]。
為了提高軟件缺陷預(yù)測(cè)能力,本文融合RS方法和SVM方法,建立一種基于粗糙集-支持向量機(jī)(RS-SVM)的軟件缺陷預(yù)測(cè)模型,在不改變樣本分類質(zhì)量的條件下,運(yùn)用粗糙集屬性約簡(jiǎn)方法作為預(yù)處理器對(duì)樣本進(jìn)行降維處理。通過屬性約簡(jiǎn),本文發(fā)現(xiàn)可以僅使用軟件度量的少量特征屬性(McCabe環(huán)路復(fù)雜度、McCabe設(shè)計(jì)復(fù)雜度、操作符種類、操作數(shù)種類和總代碼行數(shù))來進(jìn)行軟件缺陷預(yù)測(cè),這樣不但可以減少樣本的維數(shù),縮短SVM樣本訓(xùn)練時(shí)間,還可以降低數(shù)據(jù)采集難度,并提高分類器性能。屬性約簡(jiǎn)后利用PSO算法對(duì)SVM進(jìn)行參數(shù)優(yōu)化,并用SVM方法建立軟件缺陷預(yù)測(cè)模型。
2.1 粗糙集
屬性約簡(jiǎn)是粗糙集理論的核心內(nèi)容之一,屬性約簡(jiǎn)就是在保持知識(shí)庫分類能力不變的條件下,刪除其中不相關(guān)或不重要的屬性。
2.2 支持向量機(jī)
SVM的基本思想是非線性映射將輸入向量映射到一個(gè)高維特征空間,在高維特征空間尋求最優(yōu)劃分超平面,使得盡可能多地將2 類數(shù)據(jù)點(diǎn)正確分開,同時(shí)使分類間隔最大[6]。
對(duì)于給定樣本點(diǎn):(xi,yi),i=1,…,n,xi∈Rd,yi∈{+1,-1}。xi為輸入特征,yi為決策屬性。構(gòu)造決策函數(shù)最終可以轉(zhuǎn)化為一個(gè)典型的二次規(guī)劃問題,即在約束條件:
(1)
之下,求下列函數(shù)最小值:
(2)
其中,w為分類面權(quán)系數(shù)向量;b為分類域值;C是懲罰系數(shù),C>0;ξ是訓(xùn)練樣本關(guān)于分離面的偏差。引入Lagrange乘子αi,得到其對(duì)偶形式:
(3)
其中,0≤αi≤C,i=1,…,l。
將輸入向量映射到一個(gè)高維特征空間,引入滿足Mercer條件的K(xi,x)核函數(shù),最終得到?jīng)Q策函數(shù)為 :
(4)
這就是支持向量機(jī),式(4)中具有非0值的ai對(duì)應(yīng)的向量支撐了最優(yōu)分類面,因此成為支持向量。目前常用的核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)、徑向基核函數(shù)和Sigmoid核函數(shù)。
2.3 粒子群算法
粒子群優(yōu)化算法[13]中,優(yōu)化問題的每個(gè)解對(duì)應(yīng)搜索空間的一個(gè)粒子,記為:
pi=(pi1,pi2,…,pin),i=1,2,…,m
(5)
其中,m為粒子的個(gè)數(shù),n為粒子的維數(shù)。每個(gè)粒子有一個(gè)速度vi=(vi1,vi2,…,vin),決定它的方向和位置。粒子群優(yōu)化算法首先初始化粒子群,計(jì)算出每個(gè)粒子的適應(yīng)值,然后通過迭代搜索最優(yōu)解。在每次迭代中,對(duì)于每個(gè)粒子,粒子通過追蹤兩個(gè)極值來更新自己:一個(gè)是粒子自己找到的最優(yōu)解,稱為個(gè)體極值;另一個(gè)是整個(gè)粒子群目前找到的最優(yōu)解,稱為全局極值。當(dāng)找到個(gè)體極值和全局極值后,粒子按式(6) 和式(7) 來更新自己的速度和位置:
(6)
(7)
本文建立一種基于RS-SVM的軟件缺陷預(yù)測(cè)模型,如圖1所示。整個(gè)分類過程分成三個(gè)階段:首先, 采用粗糙集理論對(duì)樣本進(jìn)行預(yù)處理,以去掉冗余屬性,并剔除無效數(shù)據(jù)。軟件缺陷特征屬性之間存在著一定的相關(guān)性,經(jīng)過屬性約簡(jiǎn)不僅可消除指標(biāo)間的信息重疊,還起到降維的作用,提高了模型運(yùn)行速度,也大大降低了缺陷數(shù)據(jù)采樣的工作量。然后,利用粒子群對(duì)支持向量機(jī)的參數(shù)進(jìn)行優(yōu)化,尋出最優(yōu)參數(shù)。最后,利用最優(yōu)參數(shù)建立SVM訓(xùn)練模型,對(duì)經(jīng)過預(yù)處理的樣本集進(jìn)行分類訓(xùn)練和預(yù)測(cè)。
Figure 1 Prediction model based on RS-SVM
4.1 實(shí)驗(yàn)環(huán)境及實(shí)驗(yàn)數(shù)據(jù)來源
根據(jù)前述思想,本文利用臺(tái)灣ChangChih-chung等人[14]開發(fā)的LIBSVM工具箱,在MatlabR2009b下編寫了粗糙集和粒子群PSO算法程序。
美國(guó)國(guó)家航空航天局NASA(NationalAeronautics&SpaceAdministration)較早就啟動(dòng)了軟件缺陷預(yù)測(cè)技術(shù)的研究,并基于航空系統(tǒng)軟件開展了軟件模塊的度量數(shù)據(jù)庫項(xiàng)目MDP(MetricDataProgram),為缺陷預(yù)測(cè)研究提供數(shù)據(jù)支撐,MDP原數(shù)據(jù)集可從網(wǎng)址http://mdp.ivv.nasa.gov下載。本實(shí)驗(yàn)數(shù)據(jù)來源于MDP的JM1數(shù)據(jù)集,JM1數(shù)據(jù)集從一個(gè)用C++語言編寫的地面預(yù)測(cè)系統(tǒng)項(xiàng)目中得到,共有10 878個(gè)模塊,每個(gè)模塊的22個(gè)屬性中有21個(gè)特征屬性和1個(gè)目標(biāo)屬性,21個(gè)特征屬性中5個(gè)屬性來源于代碼度量,3個(gè)來源于McCabe度量,12個(gè)來源于或派生于Halstead度量,1個(gè)屬性是模塊分支數(shù)。
4.2 不平衡數(shù)據(jù)和臟數(shù)據(jù)處理
軟件缺陷數(shù)據(jù)集是類不平衡的,在JM1數(shù)據(jù)集中,有缺陷的模塊有2 102個(gè),無缺陷的模塊有8 776個(gè)。WeissG等人[15]研究了訓(xùn)練數(shù)據(jù)集的類分布與分類器的分類性能之間的關(guān)系。結(jié)果顯示,相對(duì)平衡的類分布通常會(huì)得到較理想的結(jié)果。
NASA軟件度量數(shù)據(jù)集已經(jīng)被廣泛應(yīng)用于研究,數(shù)據(jù)集本身可能存在的問題近期引起了一些學(xué)者的注意,ShepperdM[16]指出,NASA的數(shù)據(jù)集中存在著大量的“重復(fù)數(shù)據(jù)”和“矛盾數(shù)據(jù)”這種臟數(shù)據(jù),已經(jīng)嚴(yán)重影響了軟件缺陷預(yù)測(cè)的結(jié)果。
基于以上原因,本文對(duì)JM1數(shù)據(jù)集進(jìn)行了刪除臟數(shù)據(jù)的處理,并最終隨機(jī)提取1 200個(gè)數(shù)據(jù)作為實(shí)驗(yàn)樣本,有缺陷樣本和無缺陷樣本各占50%。
4.3 粗糙集屬性約簡(jiǎn)
在MatlabR2009b下實(shí)現(xiàn)粗糙集屬性信息熵約簡(jiǎn)算法,得出屬性決策表的兩個(gè)約簡(jiǎn):R1={1,4,6,8,9,11,21}和R2={5,6,19,20,21},其中的數(shù)字為原數(shù)據(jù)集中屬性序號(hào)。這樣,條件屬性由21個(gè)分別約簡(jiǎn)為7個(gè)和5個(gè),下文分別稱為屬性約簡(jiǎn)1和屬性約簡(jiǎn)2,將分別做實(shí)驗(yàn)測(cè)試其性能。
4.4 評(píng)價(jià)指標(biāo)
本文實(shí)驗(yàn)用準(zhǔn)確度(Accuracy)、精確度(Precision)、查全率(Recall)和F-度量(F-Measure)來評(píng)價(jià)和比較預(yù)測(cè)模型,這些度量都來源于混淆矩陣,如表1所示。
Table 1 Confusion matrix
Accuracy:預(yù)測(cè)結(jié)果和實(shí)際結(jié)果一致的模塊在整個(gè)測(cè)試集合中的比例。
Accuracy=(TP+TN)/(TP+FN+FP+TN)
(8)
Precision:預(yù)測(cè)為有缺陷模塊中實(shí)際為有缺陷模塊比例。
Precision=TP/(TP+FP)
(9)
Recall:有缺陷模塊被正確識(shí)別的比例。
Recall=TP/(TP+FN)
(10)
F-Measure:是Precision和Recall的調(diào)和平均數(shù)。
F-Measure=2/((1/precision)+(1/Recall))
(11)
4.5 基于PSO的SVM參數(shù)的選擇
基于2.3節(jié)介紹的粒子群優(yōu)化算法及其在Matlab R2009b下的實(shí)現(xiàn),進(jìn)行SVM最優(yōu)參數(shù)選擇,本文采用徑向基核函數(shù),需要優(yōu)化的參數(shù)有懲罰系數(shù)C和核參數(shù)γ。
以1-Accuracy的值作為粒子群的適應(yīng)值的評(píng)價(jià)函數(shù), 1-Accuracy的值越小越好。
設(shè)置粒子群參數(shù):群體規(guī)模為20,粒子向量維數(shù)為3,加速因子C1=2,C2=2,最大迭代次數(shù)為300。對(duì)未經(jīng)過屬性約簡(jiǎn)的SVM模型,粗糙集屬性約簡(jiǎn)1為特征屬性的RS-SVM1和約簡(jiǎn)2為特征屬性的RS-SVM2模型分別經(jīng)過PSO優(yōu)化,最優(yōu)參數(shù)見表2 。
Table 2 Optimization of PSO parameters
4.6 實(shí)驗(yàn)結(jié)果及分析
將特征值歸一化到[-1,1],消除了因量綱不同可能引發(fā)的影響。本文采用10折交叉驗(yàn)證的方法,樣本集被隨機(jī)等分成10個(gè)子集,任取其中一個(gè)子集作為測(cè)試樣本集,其余9個(gè)子集作為訓(xùn)練樣本集,實(shí)驗(yàn)總做10次,以10次實(shí)驗(yàn)的性能指標(biāo)平均值來評(píng)價(jià)一個(gè)算法的性能。將未經(jīng)過屬性約簡(jiǎn)的SVM模型、RBF神經(jīng)網(wǎng)絡(luò)、CART樹、Bayes分類器分別經(jīng)過10折交叉驗(yàn)證,實(shí)驗(yàn)結(jié)果比較如表3所示。
Table 3 Experimental results of models with all attribute
把由粗糙集約簡(jiǎn)R1為特征屬性的RBF神經(jīng)網(wǎng)絡(luò)、CART樹、Bayes分類器分別稱為RS-RBF1、RS-CART1和RS-Bayes1,這三個(gè)模型連同RS-SVM1模型,分別經(jīng)過10折交叉驗(yàn)證,實(shí)驗(yàn)結(jié)果比較如表4所示。
Table 4 Experimental results of models with attribute reduction 1
把由粗糙集約簡(jiǎn)R2為特征屬性的RBF神經(jīng)網(wǎng)絡(luò)、CART樹、Bayes分類器分別稱為RS-RBF2、RS-CART2和RS-Bayes2,這三個(gè)模型連同RS-SVM2分別經(jīng)過10折交叉驗(yàn)證,實(shí)驗(yàn)結(jié)果比較如表5所示。
Table 5 Experiment results of models with attribute reduction 2
從表3~表5可以看出,不論粗糙集屬性約簡(jiǎn)前還是約簡(jiǎn)后,Bayes分類器預(yù)測(cè)效果都比較差,Bayes分類器假設(shè)特征向量的所有分量之間是獨(dú)立的,在缺陷預(yù)測(cè)中,特征屬性之間不是絕對(duì)獨(dú)立的,所以使用此模型得到的分類結(jié)果會(huì)比較差?;贑ART樹和RBF神經(jīng)網(wǎng)絡(luò)方法的預(yù)測(cè)性能都明顯好于Bayes方法,但當(dāng)CART樹分類回歸樹劃分得太細(xì)時(shí),會(huì)對(duì)噪聲數(shù)據(jù)產(chǎn)生過度擬合的問題。RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選擇無統(tǒng)一理論指導(dǎo),預(yù)測(cè)效果都比SVM略差一點(diǎn)。SVM具有嚴(yán)格的理論和數(shù)學(xué)基礎(chǔ),基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,保證學(xué)習(xí)機(jī)器具有良好的泛化能力,需要設(shè)定的參數(shù)相對(duì)較少,引入PSO進(jìn)行參數(shù)優(yōu)化,提高了參數(shù)選擇的效率和模型預(yù)測(cè)性能。
粗糙集屬性約簡(jiǎn)后,四種模型預(yù)測(cè)性能都有所提高,總的來看,屬性簡(jiǎn)減2的預(yù)測(cè)性能更好。原樣本數(shù)據(jù)含有大量冗余特征屬性,21個(gè)特征屬性中某些屬性是由其他屬性通過數(shù)學(xué)運(yùn)算計(jì)算出來的,如大部分Halstead度量屬性,有些屬性對(duì)缺陷預(yù)測(cè)是無關(guān)緊要的,如一些代碼度量屬性。
性能比較好的屬性約簡(jiǎn)2中的屬性有5個(gè),分別是McCabe環(huán)路復(fù)雜度(CYCLOMATIC_COMPLEXITY)、McCabe設(shè)計(jì)復(fù)雜度(DESIGN_COMPLEXITY)、操作符種類(NUM_UNIQUE_OPERANDS)、操作數(shù)種類(NUM_UNIQUE_OPERATORS)和總代碼行數(shù)(LOC_TOTAL)。根據(jù)軟件工程的知識(shí)可知,這5個(gè)屬性相互之間基本不相關(guān),并且是影響軟件可靠性的重要屬性。實(shí)驗(yàn)也表明,對(duì)原屬性集中21個(gè)特征屬性通過粗糙集約簡(jiǎn)掉冗余特征后只保留5個(gè)特征屬性,四種模型缺陷預(yù)測(cè)性能不但沒有降低反而都有所提高。
本文將粗糙集屬性約簡(jiǎn)方法引入到軟件缺陷預(yù)測(cè)中。原軟件度量特征屬性中含有大量冗余屬性,通過粗糙集屬性約簡(jiǎn),僅保留了少量特征屬性,不但提高了軟件缺陷預(yù)測(cè)性能,而且大大減少采樣工作量,提高了工作效率。本文利用PSO算法對(duì)SVM進(jìn)行參數(shù)選擇并用SVM算法對(duì)處理過的樣本集進(jìn)行軟件缺陷預(yù)測(cè),通過實(shí)驗(yàn)與其他軟件預(yù)測(cè)方法比較,表明本文提出的方法具有更好的預(yù)測(cè)效果。下一步工作將研究如何進(jìn)一步提高軟件缺陷預(yù)測(cè)的準(zhǔn)確度。
[1] Wang Qing,Wu Shu-jian,Li Ming-shu.Software defect prediction[J].Journal of Software,2008,19(7):1565-1580.(in Chinese)
[2] Muson J C,Khoshgoftaar T M. The detection of fault-prone programs[J]. IEEE Transactions on Software Engineering,1992,18(5):423-433.
[3] Briand L C, Basili V, Hetmanski C J. Developing interpretable models with optimized set reduction for identifying high-risk software components[J].IEEE Transactions on Software Engineering,1993,19(11):1028-1044.
[4] Zhong S,Khoshgoftaar T M,Seliya N.Analyzing software measurement data with clustering techniques[J]. IEEE Intelligent Systems,2004,19(2):20-27.
[5] Qiao Hui,Zhou Yan-zhou,Shao Nan,et al. Research of software reliability prediction model on AGA-LVQ[J]. Computer Science,2013,40(1):179-182. (in Chinese)
[6] Vapnik V N. The nature of statistical learning theory[M]. New York:Springer-Verlag, 1995.
[7] Gray D, Bowes D, Davey N, Neill D,et al. Using the support vector machine as a classification method for software defect prediction with static code metrics∥[C]Proc of the 11th International Conference on Engineering Applications of Neural Networks,2009:223-234.
[8] Mishra Bharavi,Shukla K K. Support vector machine based fuzzy classification model for software fault prediction[C]∥Proc of the 5th Indian International Conference on Artificial Intelligence(IICAI 2011),2011:693-708.
[9] Cu Zheng-bin,Tang Guang-ming,Yue Feng. Software reliability prediction model based on support vector machine optimized by genetic algorithm[J].Computer Engineering and Applications,2009,45(36):71-74. (in Chinese)
[10] Zhang Yan,Ren Zi-hui.SVM-based forecasting methods for software fault[J].Journal of Chinese Computer Systems,2010,31(7):1380-1384. (in Chinese)
[11] Sanchez V D. Advanced support vector machines and kernel method[J]. Neurocomputing,2003, 55(1-2):5-20.
[12] Pawlak Z. Rough Sets:Theoretical aspects of reasoning about data(theory and decision library D)[M].Boston:Kluwer Academic Publishers,1992.
[13] Eberhart R,Kennedy J.A new optimizer using particle swarm theory[C]∥Proc of the 6th International Symposium on Micro Machine and Human Science, 1995:39-43.
[14] Chang Chih-chung,Lin Chih-jen.LIBSVM:A library for support vector machines[EB/OL].[2009-10-09].http://www.csie.ntu.edu.tw/~cjlin/libsvm.
[15] Weiss G, Provost F. Learning when training data are costly: The effect of class distribution on tree induction[J]. Journal of Artificial Intelligence Research,2003,19(1):315-354.
[16] Shepperd M,Song Qin-bao,Sun Zhong-bin,et al.Data quality: Some comments on the NASA software defect data sets[J]. IEEE Transactions on Software Engineering,2013,39(9):1208-1215.
附中文參考文獻(xiàn):
[1] 王青,伍書劍,李明樹.軟件缺陷預(yù)測(cè)技術(shù)[J].軟件學(xué)報(bào), 2008,19(7):1565-1580.
[5] 喬輝,周雁舟,邵楠,等. 基于AGA-LVQ神經(jīng)網(wǎng)絡(luò)的軟件可靠性預(yù)測(cè)模型研究[J]. 計(jì)算機(jī)科學(xué),2013,40(1):179-182.
[9] 崔正斌,湯光明,樂峰.遺傳優(yōu)化支持向量機(jī)的軟件可靠性預(yù)測(cè)模型[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(36):71-74.
[10] 張艷,任子暉.一類基于支持向量機(jī)的軟件故障預(yù)測(cè)方法[J].小型微型計(jì)算機(jī)系統(tǒng),2010,31(7):1380-1384.
MENG Qian,born in 1970,PhD candidate,associate professor,her research interests include database technology, and software engineering.
馬小平(1961-),男,四川綿陽人,博士,教授,研究方向?yàn)榭刂评碚摷皯?yīng)用。E-mail:xpma@cumt.edu.cn
MA Xiao-ping,born in 1961,PhD,professor,his research interest includes control theory and applications.
高性能計(jì)算專欄約稿
一、刊物簡(jiǎn)介
《計(jì)算機(jī)工程與科學(xué)》是由國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院主辦的中國(guó)計(jì)算機(jī)學(xué)會(huì)會(huì)刊,是國(guó)內(nèi)外公開發(fā)行的計(jì)算機(jī)類綜合性學(xué)術(shù)刊物。本刊已先后被列為中文核心期刊、中國(guó)科技信息研究所中國(guó)科技論文統(tǒng)計(jì)分析源期刊(中國(guó)科技核心期刊)、中國(guó)科學(xué)引文數(shù)據(jù)庫來源期刊(CSCD核心期刊)、中國(guó)學(xué)術(shù)期刊(光盤版)全文入編期刊、中國(guó)期刊網(wǎng)全文入編期刊、中國(guó)學(xué)術(shù)期刊綜合評(píng)價(jià)數(shù)據(jù)庫來源期刊。
二、征稿范圍(但不限于)
目前,國(guó)內(nèi)高性能計(jì)算的研究方興未艾,為更好地宣傳目前國(guó)內(nèi)高性能計(jì)算領(lǐng)域的研究和應(yīng)用現(xiàn)狀,我刊常年設(shè)有高能性能計(jì)算專欄,重點(diǎn)是面向國(guó)內(nèi)高性能計(jì)算領(lǐng)域的研究和應(yīng)用。包括:
(1)系統(tǒng)研制技術(shù):體系結(jié)構(gòu)、系統(tǒng)軟件、軟件并行化、多核編程、編譯技術(shù)、GPU計(jì)算、低功耗技術(shù)、系統(tǒng)優(yōu)化技術(shù)。
(2)系統(tǒng)應(yīng)用:EDA設(shè)計(jì)仿真、CAE、數(shù)值計(jì)算、計(jì)算化學(xué)、計(jì)算物理、材料設(shè)計(jì)、量子力學(xué)、分子動(dòng)力學(xué)、流體力學(xué)、工業(yè)設(shè)計(jì)、圖像渲染、生物信息、生命科學(xué)、氣象、天文、金融、石油勘探、工程計(jì)算、地震資料處理、集群管理、并行應(yīng)用軟件開發(fā)(MPI、OpenMP、CUDA)、Linpack測(cè)試研究、超算服務(wù)等。
三、投稿要求
(1)投稿方式:采用“計(jì)算機(jī)工程與科學(xué)在線投稿系統(tǒng)”(http://www.joces.org.cn)投稿。投稿時(shí)請(qǐng)?jiān)趥渥谥凶⒚鳌案吣苄阅苡?jì)算專欄”字樣。
(2)稿件格式:參照《計(jì)算機(jī)工程與科學(xué)》下載中心的排版規(guī)范(網(wǎng)站上提供了論文模版,可下載)。
(3)投稿文章未在正式出版物上發(fā)表過,也不在其他刊物或會(huì)議的審稿過程中,不存在一稿多投現(xiàn)象;保證投稿文章的合法性(無抄襲、剽竊、侵權(quán)等不良行為)。
(4)其他事項(xiàng)請(qǐng)參閱投稿須知: http://www.joces.org.cn/CN/column/column291.shtml
(5)??陡逦恼掳础队?jì)算機(jī)工程與科學(xué)》正常標(biāo)準(zhǔn)收取審稿費(fèi)和版面費(fèi),但將會(huì)優(yōu)先發(fā)表;發(fā)表之后,將按《計(jì)算機(jī)工程與科學(xué)》的標(biāo)準(zhǔn)支付稿酬,并贈(zèng)送樣刊。
《計(jì)算機(jī)工程與科學(xué)》編輯部
Software defect prediction usingrough sets and support vector machine
MENG Qian1,2,MA Xiao-ping1
(1.School of Information and Electrical Engineering,China University of Mining and Technology,Xuzhou 221008;2. College of Computer Science and Technology,Jiangsu Normal University,Xuzhou 221116,China)
The prediction of software defects has been an important research topic in the field of software engineering. The paper focuses on the problem of defect prediction. A classification model for predicting software defects based on the integration of rough sets and support vector machine model (RS-SVM) is constructed. Rough sets work as a preprocessor in order to remove redundant information and reduce data dimensionality before the sample data are processed by support vector machine. As a solution to the difficulty of choosing parameters, the particle swarm optimization algorithm is used to choose the parameters of support vector machines. The experimental data are from the open source NASA datasets. The dimensions of the original data sets are reduced from 21 to 5 by rough sets. Experimental results indicate that the prediction performances of Bayes classifier, CART tree, RBF neural network and RS-SVM are all improved after the dimension of the original data sets are reduced from 21 to 5 by rough sets. Compared with the above three models, RS-SVM has a higher prediction performance.
rough sets;support vector machine;software defect;prediction;particle swarm optimization
1007-130X(2015)01-0093-06
2014-08-12;
2014-10-19基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61303183);江蘇省自然科學(xué)基金資助項(xiàng)目(BK20130204);高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金資助項(xiàng)目(20120095120023)
TP311.5
A
10.3969/j.issn.1007-130X.2015.01.014
孟倩(1970-),女,江蘇徐州人,博士生,副教授,研究方向?yàn)閿?shù)據(jù)庫技術(shù)和軟件工程。E-mail:mqzzy2000@126.com
通信地址:221116 江蘇省徐州市銅山新區(qū)上海路101號(hào)江蘇師范大學(xué)計(jì)算機(jī)學(xué)院
Address:College of Computer Science and Technology,Jiangsu Normal University,101 Shanghai Rd,Tongshan New District,Xuzhou 221116,Jiangsu,P.R.China