軟件工程論文參考范文:基于PSO-BP的軟件缺陷預(yù)測模型_第1頁
軟件工程論文參考范文:基于PSO-BP的軟件缺陷預(yù)測模型_第2頁
軟件工程論文參考范文:基于PSO-BP的軟件缺陷預(yù)測模型_第3頁
軟件工程論文參考范文:基于PSO-BP的軟件缺陷預(yù)測模型_第4頁
軟件工程論文參考范文:基于PSO-BP的軟件缺陷預(yù)測模型_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件工程論文參考范文:基于PSO-BP的軟件缺陷預(yù)測模型

1

引言

隨著軟件系統(tǒng)在工程應(yīng)用中不斷擴(kuò)大,軟件缺陷危害越來越受到人們的關(guān)注。例如,1962年,因Fortran語言少寫一個(gè)連字符,美國國家航天局(NASA)不得不銷毀價(jià)值8000萬美元的馬里納1號(hào)探測器。軟件缺陷預(yù)測能夠在軟件開發(fā)的早期預(yù)測出哪些模塊有出錯(cuò)的傾向從而盡早改正缺陷模塊,對(duì)于提高軟件可靠性有著重要的意義。本文提出的預(yù)測技術(shù)是一種靜態(tài)預(yù)測技術(shù),即基于缺陷相關(guān)的度量數(shù)據(jù),對(duì)缺陷分布進(jìn)行預(yù)測的技術(shù)。

目前,軟件缺陷預(yù)測模型主要包括

Bayesian

模型、線性判別模型(linear

discriminant

analysis,LDA)、支持向量機(jī)模型(support

vector

machine,SVM

)、分類回歸樹模型(classification

andregression

tree,

CART)、馬爾可夫模型。但這些方法尚存在一些問題,例如,Bayesian

模型在因子過多、模型結(jié)構(gòu)較為復(fù)雜的情況下,計(jì)算效率和推理過程緩慢不易被人接受。分類回歸模型泛化能力比較差。

支持向量機(jī)參數(shù)選擇缺乏有效的方法。馬爾可夫模型需要提出很多假設(shè),在實(shí)際應(yīng)用中受到許多限制。J48

是一種決策樹算法,嚴(yán)格意義上說是一種對(duì)ID3

算法的改進(jìn)。通過信息增益率選擇屬性避免了偏向?qū)傩灾蹈叩谋锥?;在建樹的過程中不斷剪枝;能夠?qū)Σ煌暾麛?shù)據(jù)進(jìn)行處理以及連續(xù)屬性值的離散化處理;但是在構(gòu)造樹的過程中需要對(duì)數(shù)據(jù)集進(jìn)行多次的順序掃描和排序,導(dǎo)致算法低效。

人工神經(jīng)網(wǎng)絡(luò)模型(artificial

neural

network,ANN)起源于對(duì)生物系統(tǒng)的研究和模仿,目前,在軟件缺陷預(yù)測中主要應(yīng)用的神經(jīng)網(wǎng)絡(luò)是BP神經(jīng)網(wǎng)絡(luò)。但神經(jīng)網(wǎng)絡(luò)容易陷入局部極小值點(diǎn),收斂速度慢等缺點(diǎn)。粒子群優(yōu)化算法(Particle

SwarmOptimization,

PSO)由

Kennedy

Eberhart于1995年共同提出,具有算法簡單、不需要設(shè)置參數(shù)、以及不要求目標(biāo)函數(shù)可導(dǎo)、可微,甚至不要求有明顯的表達(dá)式等優(yōu)點(diǎn)。

為了提高軟件模塊缺陷預(yù)測模型的準(zhǔn)確性,本文提出了基于

PSO-BP

的軟件缺陷預(yù)測模型,即運(yùn)用粒子群優(yōu)化算法優(yōu)化

BP

神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,建立軟件缺陷預(yù)測模型,最后用于實(shí)驗(yàn)預(yù)測軟件模塊是否為缺陷模塊。

2

相關(guān)工作

2.1

神經(jīng)網(wǎng)絡(luò)

人工神經(jīng)網(wǎng)絡(luò)以數(shù)學(xué)和物理方法以及從信息處理的角度對(duì)人腦神經(jīng)進(jìn)行抽象,并建立簡化模型,模擬人腦的智能處理行為。BP

神經(jīng)網(wǎng)絡(luò)是一種誤差反傳神經(jīng)網(wǎng)絡(luò),是一種有監(jiān)督的學(xué)習(xí)方法。其基本思想:神經(jīng)網(wǎng)絡(luò)在外界樣本的刺激下反向傳播算法不斷地動(dòng)態(tài)修整網(wǎng)絡(luò)的連接權(quán)值和閾值,以使網(wǎng)絡(luò)的輸出等同期望或者以設(shè)定的誤差接近期望輸出。曾有研究表明三層網(wǎng)絡(luò)可較好地解決非線性映射、優(yōu)化設(shè)計(jì)等問題。因此本文基于這一成果,選用三層神經(jīng)網(wǎng)絡(luò),即包括輸入層、隱藏層、輸出層。本文定義的誤差平方計(jì)算如公式。

............

3

軟件缺陷預(yù)測模型的建立

3.1

軟件缺陷預(yù)測模型

基于

PSO-BP

方法的軟件缺陷預(yù)測模型主要包括如下幾個(gè)步驟,1.獲取軟件缺陷數(shù)據(jù)集;2.基于訓(xùn)練樣本建立

BP

神經(jīng)網(wǎng)絡(luò)的軟件缺陷預(yù)測模型,選擇

sigmoid

轉(zhuǎn)移函數(shù),采用

3

層網(wǎng)絡(luò)結(jié)構(gòu);3.利用

PSO

算法優(yōu)化

BP

網(wǎng)絡(luò)的權(quán)值和閾值;4.用測試樣例對(duì)模型進(jìn)行分類預(yù)測。如果預(yù)測結(jié)果滿足終止條件,則停止優(yōu)化得到優(yōu)化的軟件預(yù)測模型,否則返回步驟

3

繼續(xù)優(yōu)化模型。其中,終止條件為模型的預(yù)測準(zhǔn)確率達(dá)到事先設(shè)定的閾值或者循環(huán)次數(shù)達(dá)到事先設(shè)定的最大值。

3.2

PSO

優(yōu)化

BP

神經(jīng)網(wǎng)絡(luò)

因?yàn)?/p>

BP

神經(jīng)網(wǎng)絡(luò)中的誤差梯度下降法,要求其函數(shù)可微、可導(dǎo),本文采用

PSO

優(yōu)化

BP

神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,達(dá)到改進(jìn)

BP

算法的缺陷和提高泛化性能的目的。即運(yùn)用粒子群優(yōu)化算法計(jì)算出每個(gè)粒子在每個(gè)方向上的速度和位置映射到

BP

神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。每個(gè)粒子在個(gè)體經(jīng)驗(yàn)和群體經(jīng)驗(yàn)指導(dǎo)下尋找自身最優(yōu)解和群體最優(yōu)解的步驟如下:1.初始化粒子群;1.1

設(shè)定粒子群規(guī)模大小,粒子速度和位置以及向量的維數(shù),其中,本文粒子規(guī)模為

30,向量的維數(shù)與

BP

神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值的個(gè)數(shù)之和相等;1.2

隨機(jī)初始化每個(gè)粒子的位置及速度以及個(gè)體最優(yōu)解和群體最優(yōu)解;

4

實(shí)驗(yàn)分析

4.1

實(shí)驗(yàn)數(shù)據(jù)

本文采用的實(shí)驗(yàn)數(shù)據(jù)是由

NASA

提供的數(shù)據(jù)包,其中含有

13

個(gè)數(shù)據(jù)集,如表

1

所示,這些數(shù)據(jù)集都是

NASA

的真實(shí)軟件項(xiàng)目,由常見的開發(fā)語言編寫。

4.2

實(shí)驗(yàn)評(píng)價(jià)標(biāo)準(zhǔn)

為了驗(yàn)證本模型的預(yù)測能力,本文實(shí)驗(yàn)采用數(shù)據(jù)集PC1、CM1、JM1、KC3,從數(shù)據(jù)集中分別隨機(jī)抽取300、200、500、200

個(gè)實(shí)驗(yàn)?zāi)K,采用十折交叉驗(yàn)證

(10‐fold

CV)實(shí)驗(yàn)方法進(jìn)行實(shí)驗(yàn),即將數(shù)據(jù)集隨機(jī)均分為10份,輪流將其中9份做訓(xùn)練,剩余的

1

份做預(yù)測,取10

次實(shí)驗(yàn)度量值的平均值作為算法的運(yùn)行結(jié)果。

為了與傳統(tǒng)機(jī)器學(xué)習(xí)方法預(yù)測能力上作比較,本文采用準(zhǔn)確度、查全率、查準(zhǔn)率以及F1值來比較模型的預(yù)測能力。這些度量值首先要用到表2的交叉矩陣。

5

結(jié)論

本文的貢獻(xiàn)是針對(duì)軟件缺陷預(yù)測問題提出了一種新穎的基于PSO-BP的軟件缺陷預(yù)測模模型。在數(shù)據(jù)集PC1、KC3、CM1、JM1上分別做實(shí)驗(yàn)并與J48和人工神經(jīng)網(wǎng)絡(luò)進(jìn)行比較。實(shí)驗(yàn)結(jié)果表明,該模型比傳統(tǒng)方法具有更好的預(yù)測效果,說明了該模型的可行性。但是該方法在優(yōu)化權(quán)值和閾值過程中需要較長的時(shí)間。在以后的研究中將進(jìn)一步降低模型的運(yùn)行時(shí)間和提高模型的預(yù)測準(zhǔn)確率。

參考文獻(xiàn)

[1]

Challagulla

V

U

B,

Bastani

F

B,

I-Ling

Yen,PaulRA.

Empirical

assessment

of

machine

learning

basedsoftware

defect

prediction

techniques[C]2005:

263-270.

[2]陸民燕.

軟件可靠性工程[M],北京:國防工業(yè)出版社.

[3]Feton

NE,

Martain

N,

William

M,

Peter

H,

LaukardR,

/rjgclw

Paul

K.

Predicting

software

defects

in

varyingdevelopment

lifecycles

using

Bayesian

nets[J].Information

and

Software

Technology,

2007,49(1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論