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

基于改進(jìn)BP算法的軟件缺陷預(yù)測模型研究

2016-04-12 00:00:00韓智慧
現(xiàn)代電子技術(shù) 2016年11期

摘 要: 針對傳統(tǒng)軟件測試成本高及測試過程依賴于軟件用例的設(shè)置等問題,設(shè)計了基于BP,JCUDA_BP和JCUDASA_BP的軟件缺陷預(yù)測模型,并通過調(diào)研、實驗的方式對基于改進(jìn)BP算法的軟件缺陷預(yù)測算法進(jìn)行了相關(guān)的研究分析,探討了JCUDA技術(shù)對于BP算法的影響,證明了模擬退火算法與JCUDA技術(shù)相結(jié)合的方式具有改進(jìn)軟件缺陷預(yù)測模型的可能性。

關(guān)鍵詞: 缺陷預(yù)測模型; 模擬退火算法; JCUDA技術(shù); BP算法

中圖分類號: TN915?34; TQ028.1 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)11?0136?05

Abstract: Since the cost of traditional software testing is high, and the test process relies on the set of software use case, a software defect prediction model based on BP, JCUDA_BP and JCUDASA_BP was designed. The software defect prediction algorithm based on improved BP algorithm is relevantly researched and analyzed by means of survey and experiment. The influence of JCUDA technology on BP algorithm is discussed, which proved that the combination of simulated annealing algorithm and JCUDA technology can improve the software defect prediction model.

Keywords: defect prediction model; simulated annealing algorithm; JCUDA technology; BP algorithm

隨著軟件應(yīng)用領(lǐng)域的不斷延伸,軟件系統(tǒng)安全日益受到研究人員的重視,軟件測試等方法已經(jīng)越來越受到工程人員的重視。伴隨著IT行業(yè)人工成本的不斷上漲,軟件測試的成本更是水漲船高[1]。因此,如何便捷、快速、優(yōu)質(zhì)地進(jìn)行軟件測試或發(fā)現(xiàn)軟件缺陷已經(jīng)成為一個難以避免的問題,如何通過機器快速、準(zhǔn)確地進(jìn)行軟件缺陷預(yù)測也就成為研究的一個熱點[2]。所以,如何建立合理的軟件缺陷預(yù)測模型成為近年來的研究重點。本文以通過一系列的實驗,研究驗證了將BP算法運用于軟件缺陷預(yù)測模型的可行性,分析其存在的缺陷,提出基于JCUDA的BP算法的預(yù)測模型和基于改進(jìn)BP算法的預(yù)測模型,并通過實驗分析,證明了模擬退火算法與JCUDA技術(shù)結(jié)合的方式具有改進(jìn)軟件缺陷預(yù)測模型的可能性。

1 BP算法運用于軟件缺陷預(yù)測模型的可行性研究

BP算法是一個前向傳播與后向反饋相互結(jié)合的過程,前向過程用于求出當(dāng)前神經(jīng)網(wǎng)絡(luò)權(quán)值情況下的輸出值,利用誤差行程反饋信息[3?4]。然后利用反饋信息對神經(jīng)網(wǎng)絡(luò)進(jìn)行進(jìn)一步的修正以獲得新的求解結(jié)果。多次反復(fù),直至前向神經(jīng)網(wǎng)絡(luò)計算的誤差值能夠被用戶接受,這時BP神經(jīng)網(wǎng)絡(luò)處于當(dāng)前最優(yōu)解的情況,也就是BP神經(jīng)網(wǎng)絡(luò)完成了反饋操作。該算法流程圖如圖1所示。

基于BP算法的軟件缺陷預(yù)測模型包含一個輸入層、一個隱含層和一個輸出層[5]。將軟件缺陷模型的相關(guān)數(shù)據(jù)作為BP算法的學(xué)習(xí)樣本,利用BP神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行學(xué)習(xí),從而對未知的軟件數(shù)據(jù)進(jìn)行預(yù)測以獲得較好的預(yù)測效果。采用MDP數(shù)據(jù)集作為實驗數(shù)據(jù),采用對比實驗的方式對基于BP的軟件缺陷模型的預(yù)測效果進(jìn)行分析。實驗表明,BP算法能夠有效地對軟件缺陷進(jìn)行預(yù)測。但是基于BP算法的軟件缺陷預(yù)測模型仍然存在易陷入局部最小值、BP網(wǎng)絡(luò)基本參數(shù)較難確認(rèn)、計算時間過長和訓(xùn)練結(jié)果依賴學(xué)習(xí)樣本等不足。

2 基于JCUDA_BP算法的軟件缺陷預(yù)測模型研究

利用JCUDA進(jìn)行BP算法優(yōu)化設(shè)計時,采用CPU與GPU都承擔(dān)部分計算工作的協(xié)同方式,即具有較強并行性的計算交由GPU進(jìn)行處理,CPU既負(fù)責(zé)管理GPU也進(jìn)行部分的非并行性計算。有效地激發(fā)GPU/CPU的計算能力,從而使基于JCUDA_BP算法的軟件缺陷模型具有更高的計算效率,具體實現(xiàn)過程如下:

其中:表示第個樣本組合計算完的誤差值;表示全部樣本集計算的平均誤差值。

(2) 基于JCUDA_BP算法利用BP算法的反向誤差對BP神經(jīng)網(wǎng)絡(luò)內(nèi)的權(quán)值進(jìn)行調(diào)整。調(diào)整完成后,驗證誤差值范圍是否滿足需求。如果誤差仍然無法滿足BP算法的準(zhǔn)確性要求,則反復(fù)進(jìn)行迭代,直至獲得最佳的學(xué)習(xí)效果。結(jié)合JCUDA_BP算法的軟件缺陷,預(yù)測算法利用多線程、數(shù)據(jù)分組的方式加快BP算法效果。軟件缺陷預(yù)測模型是采用與BP網(wǎng)絡(luò)相似的網(wǎng)絡(luò)結(jié)構(gòu),利用JCUDA算法對軟件缺陷預(yù)測的運行時間進(jìn)行優(yōu)化、模擬。CPU承擔(dān)誤差求解與驗證的任務(wù),同時實現(xiàn)GPU運行監(jiān)測的工作。

基于JCUDA_BP算法對軟件缺陷信息學(xué)習(xí)的學(xué)習(xí)過程如下:

① CPU、GPU內(nèi)完成BP神經(jīng)網(wǎng)絡(luò)初始化;

② 利用JCUDA編程技術(shù)實現(xiàn)BP算法在JCUDA上的學(xué)習(xí)過程;

③ 采用CPU存儲BP算法的計算結(jié)果;

④ 利用CPU對GPU內(nèi)數(shù)據(jù)計算的效果進(jìn)行分析與監(jiān)控。

BP算法采用JCUDA實現(xiàn)是將BP計算迭代的過程置于GPU內(nèi)進(jìn)行計算,利用CPU對學(xué)習(xí)過程誤差進(jìn)行分析,調(diào)整GPU內(nèi)神經(jīng)網(wǎng)絡(luò)拓?fù)鋱D內(nèi)邊的權(quán)值。其中BP算法的相關(guān)處理流程如圖2所示。

3 基于改進(jìn)BP算法的軟件缺陷預(yù)測模型研究

4 實驗分析

4.1 基于JCUDA_BP算法的軟件缺陷預(yù)測模型實驗分析

基于BP與基于JCUDA_BP的軟件缺陷預(yù)測模型的評估實驗采用MDP數(shù)據(jù)集作為實驗數(shù)據(jù),如表1所示。實驗采用Eclipse作為編程環(huán)境,使用基于Java的JCUDA技術(shù)實現(xiàn)GPU與CPU下的編程操作。

本試驗結(jié)果與分析從“基于BP的軟件缺陷預(yù)測與基于JCUDA_BP算法的軟件缺陷預(yù)測對比分析”和“基于不同隱含節(jié)點個數(shù)JCUDA_BP對軟件缺陷預(yù)測的影響的分析”兩方面入手,說明基于JCUDA_BP的軟件缺陷預(yù)測算法與基于BP的軟件缺陷算法的差異和JCUDA_BP可能會在實際使用中產(chǎn)生的問題與影響。

(1) 速率改進(jìn)實驗結(jié)果與分析

在實驗數(shù)據(jù)相同的情況下,不同數(shù)據(jù)集用JCUDA優(yōu)化的軟件缺陷預(yù)測模型和基于BP算法的軟件缺陷預(yù)測模型進(jìn)行計算,計算GPU學(xué)習(xí)過程與CPU學(xué)習(xí)過程消耗時間的差值,計算該差值與CPU計算時間求得優(yōu)化率,具體結(jié)果見表2。

分析實驗結(jié)果可知,針對MDP軟件模塊信息數(shù)據(jù)集,基于JCUDA技術(shù)改進(jìn)的BP算法一定程度上能夠?qū)W(xué)習(xí)過程進(jìn)行優(yōu)化,獲得較好的優(yōu)化效果。但是,該優(yōu)化過程在軟件缺陷模型學(xué)習(xí)樣本較多時優(yōu)化效果明顯;如果學(xué)習(xí)樣本較少則優(yōu)化效果不理想。

(2) 隱含節(jié)點實驗結(jié)果與分析

PC5隱含節(jié)點數(shù)與GPU\CPU處理時間對照:

實驗結(jié)果表明:當(dāng)隱含節(jié)點個數(shù)增加時,GPU與CPU運行BP軟件缺陷模擬算法的時間都會增加,但是隨著隱含節(jié)點個數(shù)的增加GPU計算的時間會優(yōu)于CPU計算時間,即當(dāng)隱含節(jié)點個數(shù)達(dá)到一個數(shù)量級以后,GPU的優(yōu)化后的BP算法效果遠(yuǎn)好于CPU下的BP算法,學(xué)習(xí)效果會得到提升。當(dāng)隱含節(jié)點較少時,軟件缺陷預(yù)測速度、CPU的處理時間更短。

4.2 基于改進(jìn)BP算法的軟件缺陷預(yù)測模型實驗分析

本實驗使用的數(shù)據(jù)集及實驗環(huán)境同第4.1節(jié)。在基于JCUDASA_BP算法的軟件缺陷預(yù)測研究的實驗過程中,BP算法的輸入?yún)?shù)設(shè)置為37個,輸出參數(shù)設(shè)置為1個,學(xué)習(xí)率設(shè)置為0.01,訓(xùn)練次數(shù)設(shè)置為10 000次,誤差允許值設(shè)置為0.001。該實驗主要從準(zhǔn)確性和效率兩個方面進(jìn)行分析。

(1) 改進(jìn)算法準(zhǔn)確性分析

改進(jìn)算法準(zhǔn)確性實驗主要說明“基于JCUDASA_BP的軟件缺陷預(yù)測的準(zhǔn)確性分析的實驗結(jié)果”。利用該實驗結(jié)果與基于BP算法的軟件缺陷預(yù)測結(jié)果進(jìn)行對比,分析基于模擬退火算法改進(jìn)的軟件缺陷預(yù)測模型的預(yù)測效果,具體對比結(jié)果如表4所示。

由表4對比可知,基于JCUDASA_BP算法對于軟件缺陷預(yù)測的準(zhǔn)確性優(yōu)于基于BP算法的軟件缺陷預(yù)測,并且能夠較好地避免局部最優(yōu)解的出現(xiàn)。

(2) 改進(jìn)算法效率分析

改進(jìn)算法效率實驗對比分析基于BP算法的軟件缺陷預(yù)測模型、基于JCUDA_BP算法的軟件缺陷預(yù)測模型、基于JCUDASA_BP算法軟件缺陷預(yù)測模型針對MDP軟件信息數(shù)據(jù)集中軟件模塊信息學(xué)習(xí)過程時間的長短,其實驗結(jié)果如表5所示。

分析實驗結(jié)果可知:當(dāng)數(shù)據(jù)集較少時,由于基于JCUDA改進(jìn)的BP算法需耗費一定時間進(jìn)行GPU啟動,基于JCUDASA_BP算法需要消耗較多時間進(jìn)行模擬退火算法計算。因此,數(shù)據(jù)集較少時,傳統(tǒng)BP算法的軟件缺陷預(yù)測模型對于軟件缺陷數(shù)據(jù)的預(yù)測速率較高;當(dāng)數(shù)據(jù)集較多時,利用傳統(tǒng)BP算法對于軟件缺陷信息的學(xué)習(xí)時間長于基于JCUDA技術(shù)改進(jìn)的BP算法的學(xué)習(xí)時間。其主要原因是JCUDA技術(shù)對計算量進(jìn)行了分解,加速了運行速度。基于JCUDASA_BP算法進(jìn)行的軟件缺陷預(yù)測學(xué)習(xí)過程消耗的時間較長,其主要原因是由于模擬退火算法對原始算法的影響較大,其迭代計算的過程消耗了較多的計算時間。

5 結(jié) 論

本文對基于BP的軟件缺陷預(yù)測模型、基于JCUDA_BP的軟件缺陷預(yù)測模型和基于JCUDASA_BP的軟件缺陷預(yù)測模型進(jìn)行了相關(guān)研究,驗證了BP算法在軟件缺陷預(yù)測模型中使用的可行性。分析上述算法的不足,證明了JCUDA技術(shù)能夠幫助BP算法進(jìn)行處理優(yōu)化,但是不能有效地解決陷入局部最小值的情況,基于改進(jìn)的BP算法的軟件缺陷預(yù)測模型通過結(jié)合模擬退火算法可以實現(xiàn)防止陷入局部最小值的情況,能夠獲得較好的處理效果。然而本文所提出軟件缺陷預(yù)測模型算法仍未對數(shù)據(jù)做出更好的預(yù)處理,在未來的工作中,后期需要對預(yù)處理進(jìn)行深入的總結(jié),通過優(yōu)化學(xué)習(xí)樣本獲得更高效的學(xué)習(xí)樣本。

參考文獻(xiàn)

[1] 韓璐,荊曉遠(yuǎn).一種新型軟件缺陷預(yù)測模型研究[J].南京郵電大學(xué)學(xué)報(自然科學(xué)版),2015, 35(1):95?101.

[2] 尹然,丁曉明,李小亮,等.基于SA?BP神經(jīng)網(wǎng)絡(luò)的軟件缺陷預(yù)測模型的研究[J].西南師范大學(xué)學(xué)報(自然科學(xué)版),2013,38(8):147?152.

[3] 張麗紅,王艷.基于回歸神經(jīng)網(wǎng)絡(luò)自適應(yīng)快速BP算法[J].計算機測量與控制,2015,12(5):480?482.

[4] 侯彥東,方惠敏,楊國勝,等.一種改進(jìn)的可變學(xué)習(xí)速率的BP神經(jīng)網(wǎng)絡(luò)算法[J].河南大學(xué)學(xué)報(自然科學(xué)版),2015,38(3):309?312.

[5] YIN R, DING X M, LI X L, et al. Research on software defect prediction model based on SA?BP [J]. Journal of Southwest China Normal University, 2013(8): 120?139.

[6] FAN Xiujuan, LI Chenguo. The research in yarn quality prediction model based on an improved BP algorithm [C]// Procee?dings of 2009 WRI World Congress on Computer Science and Information Engineering. US: IEEE, 2009: 167?172.

[7] 張少迪.基于PSO?BP神經(jīng)網(wǎng)絡(luò)的短期負(fù)荷預(yù)測算法[J].現(xiàn)代電子技術(shù),2013,36(12):155?158.

[8] 朱旭東,梁光明,馮雁.基于改進(jìn)SFS特征選擇BP識別算法[J].現(xiàn)代電子技術(shù),2015,38(12):1?4.

主站蜘蛛池模板: 免费人成视频在线观看网站| 欧美亚洲国产精品久久蜜芽| 综合色88| 国产成人综合在线视频| 91口爆吞精国产对白第三集| www.91在线播放| 国产美女在线免费观看| 国产精品亚洲专区一区| 久久亚洲高清国产| 国产一区成人| 韩国v欧美v亚洲v日本v| 日韩毛片在线播放| 国产成年女人特黄特色毛片免| 国产高潮视频在线观看| 97无码免费人妻超级碰碰碰| 日本精品影院| 国产激情第一页| 色亚洲成人| 亚洲中文字幕日产无码2021| 成人福利在线看| 99在线视频精品| 青青热久免费精品视频6| 国产精品99久久久久久董美香| 亚洲精品色AV无码看| 免费av一区二区三区在线| 亚洲乱亚洲乱妇24p| 一区二区在线视频免费观看| 国产国产人成免费视频77777| 久久精品欧美一区二区| 92精品国产自产在线观看| 情侣午夜国产在线一区无码| 中文字幕在线观看日本| 日韩小视频在线观看| 亚洲综合精品第一页| 亚洲天堂在线免费| 精品黑人一区二区三区| 日韩精品毛片| 国产精品久久久精品三级| 午夜老司机永久免费看片 | 99re热精品视频中文字幕不卡| 久久精品国产精品一区二区| 亚洲乱强伦| 女同久久精品国产99国| 国产一区成人| 久久亚洲欧美综合| 亚洲热线99精品视频| 国产伦精品一区二区三区视频优播| 秋霞一区二区三区| 国产成人精品一区二区不卡| 国产菊爆视频在线观看| 国产成年无码AⅤ片在线| 亚洲第一精品福利| 老司机午夜精品视频你懂的| 国产精品一区不卡| 网久久综合| 日韩成人午夜| 日本一区高清| 看你懂的巨臀中文字幕一区二区 | 九九热这里只有国产精品| 免费中文字幕在在线不卡| 久久久久国产精品熟女影院| 美女一级免费毛片| 亚欧成人无码AV在线播放| av在线手机播放| 欧美日本二区| 亚洲视屏在线观看| 91精品伊人久久大香线蕉| 免费毛片网站在线观看| 婷婷午夜天| 亚洲IV视频免费在线光看| 亚洲天堂免费| 久久人妻系列无码一区| 国产精品亚洲一区二区三区在线观看| 亚洲 成人国产| 欧美日韩在线亚洲国产人| 美女无遮挡免费网站| 国产性猛交XXXX免费看| 国产成人综合网在线观看| 毛片免费观看视频| 五月天综合婷婷| 日本午夜在线视频| 国产91九色在线播放|