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

基于改進(jìn)RNN的LSTM軟件缺陷預(yù)測(cè)技術(shù)的研究

2020-07-09 04:03:55蘇智韜
現(xiàn)代信息科技 2020年21期
關(guān)鍵詞:深度學(xué)習(xí)

摘 ?要:針對(duì)現(xiàn)階段軟件缺陷預(yù)測(cè)模型研究少和準(zhǔn)確率低的問(wèn)題,提出了一種基于LSTM的軟件缺陷預(yù)測(cè)模型。基于LSTM對(duì)輸入序列信息的相關(guān)性進(jìn)行了研究,通過(guò)Prophet和Ohba開(kāi)源數(shù)據(jù)集對(duì)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和測(cè)試。實(shí)驗(yàn)結(jié)果表明:在輸入序列為500時(shí),LSTM的檢測(cè)效果準(zhǔn)確率為99.12%,誤報(bào)率為0.91%,優(yōu)于RNN的93.58%的準(zhǔn)確率和5.76%的誤報(bào)率。

關(guān)鍵詞:深度學(xué)習(xí);長(zhǎng)短期記憶;軟件缺陷預(yù)測(cè);RNN

中圖分類號(hào):TP315.53 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)21-0017-04

Research on LSTM Software Defect Prediction Technology Based on Improved RNN

SU Zhitao

(School of Computer Science,Sichuan University,Chengdu ?610065,China)

Abstract:Aiming at the problem of little research and low accuracy of software defect prediction models at this stage,a software defect prediction model based on LSTM is proposed. The correlation of input sequence information is studied based on LSTM. The network model is trained and tested through Prophet and Ohba open source datasets. The experimental results show that:when the input sequence is 500,the detection accuracy of LSTM is 99.12%,and the false alarm rate is 0.91%,which is better than RNNs 93.58% accuracy rate and 5.76% false alarm rate.

Keywords:deep learning;LSTM;software defect prediction;RNN

0 ?引 ?言

早期的軟件測(cè)試基本等同于調(diào)試,最常見(jiàn)的測(cè)試方法是面向圖形和非圖形的用戶界面測(cè)試,實(shí)際上,一個(gè)軟件從需求分析、開(kāi)發(fā)設(shè)計(jì)到最后上線交付誕生的過(guò)程中,離不開(kāi)軟件缺陷的測(cè)試和預(yù)測(cè)技術(shù)的思想。導(dǎo)致軟件缺陷的主要因素有概念需求說(shuō)明的精細(xì)化,測(cè)試工具和數(shù)據(jù)的綜合化,模型的合理化以及測(cè)試人員的專業(yè)化[1]。目前,利用機(jī)器學(xué)習(xí)算法對(duì)軟件缺陷預(yù)測(cè)是當(dāng)下的研究熱點(diǎn),國(guó)內(nèi)外學(xué)者對(duì)軟件預(yù)測(cè)技術(shù)進(jìn)行了一些研究。文獻(xiàn)[2]通過(guò)LSTM和RNN簡(jiǎn)化語(yǔ)音識(shí)別技術(shù),可預(yù)測(cè)疾病、圖像分類和控制聊天機(jī)器人等任務(wù);文獻(xiàn)[3]利用RNN輸入文本的微小增改處理方法,對(duì)錯(cuò)誤文本分類。

筆者在軟件圖形用戶界面(GUI)測(cè)試中,發(fā)現(xiàn)自動(dòng)化測(cè)試工具在某些環(huán)節(jié)可以代替人工測(cè)試與應(yīng)用程序進(jìn)行交互,但自動(dòng)化測(cè)試工具在不同的GUI狀態(tài)下對(duì)于可接受的手勢(shì)識(shí)別存在限制和缺陷。不同測(cè)試生成器的主要區(qū)別在于生成測(cè)試用例時(shí)所采用的策略,常用的策略主要包括基于模型策略、隨機(jī)策略和針對(duì)性策略三種[4],本文利用機(jī)器學(xué)習(xí)算法LSTM構(gòu)建模型策略。測(cè)試生成器的模型策略通常使用RNN,主要是基于訓(xùn)練算法BPTT[5]。但是,單純地使用RNN會(huì)出現(xiàn)權(quán)重指數(shù)級(jí)爆炸和梯度消失的問(wèn)題,難以捕捉長(zhǎng)時(shí)間輸入序列的關(guān)聯(lián)性,使重要的信息可能不會(huì)被輸出[6]。因此,本文使用了RNN的改進(jìn)策略長(zhǎng)短期記憶模型(LSTM),可以更好地處理和預(yù)測(cè)時(shí)間序列的重要事件。

1 ?LSTM的網(wǎng)絡(luò)模型結(jié)構(gòu)

LSTM在語(yǔ)音識(shí)別、自然語(yǔ)言處理、圖像處理和視頻分類等方面表現(xiàn)出了很好的效果[7]。LSTM和RNN相比,主要解決了RNN長(zhǎng)期依賴的問(wèn)題。LSTM的網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示,LSTM通過(guò)引入記憶單元、輸入門、遺忘門和輸出門解決梯度消失問(wèn)題。其中,t時(shí)刻的輸入信息為xt,yt為t時(shí)刻的輸出,Sigmoid激活函數(shù)為σ,?為元素相乘,⊕為元素相加,門結(jié)構(gòu)由σ和?組成。前一級(jí)記憶單元輸入的信息是否需要被保留由遺忘門決定,輸入門確定重要的信息加載到記憶單元,輸出門則決定了下一個(gè)隱藏狀態(tài)。

2 ?LSTM預(yù)測(cè)模型的建立

LSTM是一種具有很好學(xué)習(xí)性的神經(jīng)網(wǎng)絡(luò)算法模型[8]。在實(shí)際工程軟件測(cè)試過(guò)程中,測(cè)試人員依據(jù)測(cè)試需求說(shuō)明書(shū)和測(cè)試用例發(fā)現(xiàn)軟件缺陷。算法模型的輸入層包括日常測(cè)試用例、需求說(shuō)明書(shū)、測(cè)試用例數(shù)個(gè)被測(cè)對(duì)象,輸出層則是軟件缺陷個(gè)數(shù)及問(wèn)題描述。

2.1 ?LSTM的設(shè)計(jì)

RNN推導(dǎo)演進(jìn)后可得到LSTM,原始的RNN由于隱藏層只有一個(gè)狀態(tài)h,對(duì)于短期的輸入比較敏感。因此,在此RNN的基礎(chǔ)上增加一個(gè)狀態(tài)c,狀態(tài)c又稱為單元狀態(tài),按照時(shí)間維度展開(kāi)如圖2所示,讓它保存長(zhǎng)期的狀態(tài),解決了原始RNN無(wú)法處理長(zhǎng)距離依賴的問(wèn)題。

從圖2可以看出,LSTM的輸入有三個(gè):xt為當(dāng)前時(shí)刻的輸入,ht-1為前一時(shí)刻的輸出,ct-1為前一時(shí)刻的單元狀態(tài),模型當(dāng)前時(shí)刻的兩個(gè)輸出為ht和ct。LSTM利用三個(gè)控制開(kāi)關(guān)控制長(zhǎng)期狀態(tài),思路方法如下:前一個(gè)開(kāi)關(guān)s1保存控制長(zhǎng)期狀態(tài)ct,中間的開(kāi)關(guān)s3將輸入的數(shù)據(jù)傳輸?shù)介L(zhǎng)期狀態(tài)ct,最后一個(gè)開(kāi)關(guān)s2控制是否將長(zhǎng)期狀態(tài)ct作為輸出,三個(gè)開(kāi)關(guān)控制長(zhǎng)期狀態(tài)的模思路如圖3所示。

2.2 ?LSTM的前向計(jì)算

門是代替開(kāi)關(guān)算法中的重要組成部分,是一層全連接層,輸入和輸出都是向量。在LSTM算法中,權(quán)重向量為W,偏置項(xiàng)為b,門的一般表達(dá)式可寫為:

g(x)=σ(Wx+b) ? ? ? ? ? ? ? ? ? ? ? ?(1)

其原理是通過(guò)輸出向量乘以控制向量,當(dāng)門輸出為0代表不通過(guò),門輸出為1時(shí),向量與1相乘則不會(huì)改變,表示通過(guò)。LSTM用輸入門和遺忘門來(lái)控制單元狀態(tài)c的內(nèi)容,遺忘門決定了前一時(shí)刻的單元狀態(tài)ct-1,輸入門決定了當(dāng)前時(shí)刻的網(wǎng)絡(luò)輸入xt保存到單元狀態(tài)的數(shù)量。遺忘門可表示為:

ft=σ(Wf ·[ht-1,xt]+bf) ? ? ? ? ? ? ? ? ? (2)

其中,Wf為遺忘門的權(quán)重矩陣,[ht-1,xt]為兩個(gè)向量的組合,bf為遺忘門的偏置項(xiàng),σ為激活函數(shù)。若輸入的維度為dh,單元狀態(tài)的維度為dc,則Wf維度為dc·(dh+dx)。實(shí)際上,權(quán)重矩陣Wf是兩個(gè)矩陣Wfx和Wfh拼接而成。Wf可以寫為:

(3)

輸入門可以表示為:

it=σ(Wi×[ht-1,xt]+bi) ? ? ? ? ? ? ? ? ? ? ? ?(4)

記憶單元的狀態(tài)可通過(guò)上一時(shí)刻的輸出和本次的輸入計(jì)算,即ct-1按元素乘遺忘門ft,當(dāng)前輸入的單元狀態(tài)乘輸入門it,兩個(gè)乘積項(xiàng)相加可得到ct,將LSTM的當(dāng)前記憶單元和前一時(shí)刻的狀態(tài)組合得到了新的單元狀態(tài)。而在數(shù)據(jù)傳輸過(guò)程中,輸入門可以避免當(dāng)前不重要的信息進(jìn)入記憶單元,遺忘門可以保存前一時(shí)刻的數(shù)據(jù)信息記憶,最終的輸出門控制當(dāng)前的記憶單元輸出數(shù)據(jù)信息,輸出門的計(jì)算可表示為:

ot=σ(Wo×[ht-1,xt]+bo) ? ? ? ? ? ? ? ? ? ? ?(5)

輸出門和記憶單元狀態(tài)最終決定了LSTM的輸出,可以寫為:

ht=ot×tanh(ct) ? ? ? ? ? ? ? ? ? ? ? ? ? (6)

LSTM最終數(shù)據(jù)輸出過(guò)程如圖4所示。

2.3 ?LSTM訓(xùn)練

由于輸入狀態(tài)是連續(xù)的時(shí)間序列,LSTM可以很好地解決時(shí)序問(wèn)題,根據(jù)前面的介紹訓(xùn)練模型,LSTM反向傳播算法的訓(xùn)練分為三個(gè)步驟:

Step1:求解前向計(jì)算的每個(gè)神經(jīng)元ft,it,ot,ht向量的輸出值。

Step2:分別計(jì)算每個(gè)神經(jīng)元兩個(gè)方向的誤差項(xiàng)δ值。即每個(gè)時(shí)刻和向上一層傳播的誤差項(xiàng)。

Step3:根據(jù)得到的誤差項(xiàng)計(jì)算權(quán)重的梯度。

LSTM的詳細(xì)計(jì)算過(guò)程和推導(dǎo)公式為:與RNN類似,LSTM誤差反向傳播的計(jì)算利用誤差項(xiàng)的δ值,采用梯度下降法更新權(quán)值,在LSTM的訓(xùn)練過(guò)程中,需要學(xué)習(xí)的參數(shù)共有8組,分別為輸入門的Wi和bi,輸出門的Wo和bo,以及記憶單元狀態(tài)的Wc和偏置項(xiàng)bc。在反向傳播時(shí)權(quán)重矩陣使用不同的公式,因此,權(quán)重矩陣Wf、Wi、Wc、Wo被分開(kāi)為兩個(gè)矩陣:Wfh、Wfx、Wih、Wix、Woh、Wox、Wch、Wcx。誤差沿時(shí)間反向傳遞,E為損失函數(shù),在t時(shí)刻LSTM的輸出值為ht。我們定義t時(shí)刻的誤差項(xiàng)δt為:

(7)

通過(guò)式(7)可知,損失函數(shù)對(duì)輸出值的導(dǎo)數(shù)為誤差項(xiàng),建立的LSTM有四個(gè)加權(quán)輸入,而向上一層傳遞的只有一個(gè)誤差項(xiàng),因此,分別定義四個(gè)加權(quán)輸入對(duì)應(yīng)的誤差項(xiàng)為:

netf,t=Wf[ht-1,xt]+bf ? ? ? ? ? ? ? ? ? ? ? ? ? (8)

neti,t=Wi[ht-1,xt]+bi ? ? ? ? ? ? ? ? ? ? ? ? ? (9)

=Wc[ht-1,xt]+bc ? ? ? ? ? ? ? ? ? ? ? ?(10)

neto,t=Wo[ht-1,xt]+bo ? ? ? ? ? ? ? ? ? ? ? ?(11)

(12)

(13)

(14)

(15)

沿時(shí)間反向傳遞t-1時(shí)刻的誤差項(xiàng)δt-1可表示為:

(16)

以輸出門為例,根據(jù)得到的誤差項(xiàng),計(jì)算當(dāng)前時(shí)刻權(quán)重矩陣的梯度和偏置項(xiàng)梯度,計(jì)算過(guò)程可表示為式(17)~式(19):

(17)

(18)

(19)

輸出門最終的梯度為各個(gè)時(shí)刻的梯度之和,同理,遺忘門、輸入門和記憶單元的權(quán)重矩陣和偏置項(xiàng)的梯度可以依據(jù)輸出門的求解方法得到。

3 ?實(shí)驗(yàn)及結(jié)果分析

本文主要是基于時(shí)間序列的測(cè)試序列驗(yàn)證。實(shí)驗(yàn)環(huán)境:主機(jī)CPU型號(hào)為Intel i5 9300H,主頻為2.4 GHz,物理內(nèi)存為8 G,64位操作系統(tǒng),深度學(xué)習(xí)框架為TensorFlow 1.11.10,代碼運(yùn)行平臺(tái)為Python3.7。采用的訓(xùn)練數(shù)據(jù)有語(yǔ)言數(shù)據(jù)聯(lián)盟提供的漢語(yǔ)文本語(yǔ)料和失效數(shù)據(jù)集Ohba,訓(xùn)練集是從網(wǎng)上自行下載的Prophet時(shí)間序列數(shù)據(jù)集,隨機(jī)選取3 271個(gè)樣本集,訓(xùn)練樣本集和測(cè)試樣本集的占比為8:2。網(wǎng)絡(luò)模型的參數(shù)預(yù)設(shè)值通過(guò)多次實(shí)驗(yàn)迭代100次確定,具體參數(shù)設(shè)置如表1所示。

LSTM結(jié)構(gòu)的輸出可以是任意長(zhǎng)度的序列,但是序列的長(zhǎng)短會(huì)影響獲取時(shí)間,序列越長(zhǎng),模型訓(xùn)練的時(shí)間也會(huì)增加。序列長(zhǎng)度則為包含字符的個(gè)數(shù),經(jīng)多次測(cè)試并考慮到訓(xùn)練時(shí)間和擬合度的問(wèn)題,本文選擇500作為模型訓(xùn)練的序列長(zhǎng)度。為說(shuō)明驗(yàn)證本文模型特征的有效性,針對(duì)同一數(shù)據(jù)集構(gòu)建其他文獻(xiàn)中常用的RNN檢測(cè)結(jié)果,訓(xùn)練和測(cè)試分別表示訓(xùn)練樣本集和測(cè)試樣本集的建模與檢測(cè)時(shí)間。

由表2可知,LSTM調(diào)用處理序列在準(zhǔn)確率(ACC)、檢測(cè)率(DR)和誤報(bào)率(FAR)均優(yōu)于RNN,文本構(gòu)建的LSTM的檢測(cè)效果準(zhǔn)確率為99.12%,誤報(bào)率為0.91%,優(yōu)于RNN的93.58%的檢測(cè)率和5.76%的誤報(bào)率。因?yàn)楸疚牡哪P陀?xùn)練采用多個(gè)數(shù)據(jù)集不斷訓(xùn)練優(yōu)化模型,反復(fù)實(shí)驗(yàn)修改迭代次數(shù),LSTM能夠?qū)χ匾妮斎胄畔⒈A簦粫?huì)出現(xiàn)權(quán)重比較大的信息遺失等問(wèn)題。

4 ?結(jié) ?論

本文對(duì)基于軟件故障檢測(cè)和預(yù)測(cè)進(jìn)行了研究,提出了一種基于LSTM的軟件測(cè)試方法,針對(duì)目前軟件工程的故障類型繁多和需求復(fù)雜等特點(diǎn),為更好地實(shí)現(xiàn)軟件缺陷預(yù)測(cè)和故障預(yù)測(cè)方法,與RNN進(jìn)行了比較,結(jié)果顯示提出的LSTM具有以下優(yōu)勢(shì):模型的檢測(cè)時(shí)間短,擬合程度較好;網(wǎng)絡(luò)模型在準(zhǔn)確率、檢測(cè)率和誤報(bào)率三個(gè)指標(biāo)上的性能較好;網(wǎng)絡(luò)結(jié)構(gòu)上要優(yōu)于RNN的模型結(jié)構(gòu),LSTM的遺忘門會(huì)使得前一級(jí)輸入的狀態(tài)信息按照權(quán)重大小輸出。同時(shí),本文方法也存在一些不足,目前僅提出了字符序列信息,對(duì)語(yǔ)音和圖像等測(cè)試訓(xùn)練還需要加強(qiáng),且模型構(gòu)建的時(shí)間長(zhǎng),下一步工作將提取更多的輸入信息特征,進(jìn)一步優(yōu)化模型,提高模型的可用性和高效性。

參考文獻(xiàn):

[1] 王文滔.Android手機(jī)軟件自動(dòng)化測(cè)試的設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京交通大學(xué),2015.

[2] 左玲云,張晴晴,黎塔,等.電話交談?wù)Z音識(shí)別中基于LSTM-DNN語(yǔ)言模型的重評(píng)估方法研究 [J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,28(2):180-186+193.

[3] TUMULURU V K,WANG P,NIYATO D. A Neural Network Based Spectrum Prediction Scheme for Cognitive Radio [C]//2010 IEEE International Conference on Communications.IEEE,2010:1-5.

[4] AHMAD N S,KHAN M G M,RAFI L S.A study of testing effort dependent inflection S-shaped software reliability growth models with imperfect debugging [J].International Journal of Quality & Reliability Management,2010,27(1):89-110.

[5] 楊波,吳際,徐珞,等.一種軟件測(cè)試需求建模及測(cè)試用例生成方法 [J].計(jì)算機(jī)學(xué)報(bào),2014,37(3):522-538.

[6] 韓文凱.認(rèn)知網(wǎng)絡(luò)的頻譜感知對(duì)抗技術(shù)研究[D].成都:電子科技大學(xué),2018.

[7] 李秋英,李海峰,陸民燕,等.基于S型測(cè)試工作量函數(shù)的軟件可靠性增長(zhǎng)模型 [J].北京航空航天大學(xué)學(xué)報(bào),2011,37(2):149-154+160.

[8] 楊宏宇,徐晉.基于改進(jìn)隨機(jī)森林算法的Android惡意軟件檢測(cè) [J].通信學(xué)報(bào),2017,38(4):8-16.

作者簡(jiǎn)介:蘇智韜(1992—),男,漢族,四川綿陽(yáng)人,碩士研究生在讀,研究方向:基于機(jī)器學(xué)習(xí)的軟件自動(dòng)化測(cè)試。

猜你喜歡
深度學(xué)習(xí)
從合坐走向合學(xué):淺議新學(xué)習(xí)模式的構(gòu)建
面向大數(shù)據(jù)遠(yuǎn)程開(kāi)放實(shí)驗(yàn)平臺(tái)構(gòu)建研究
基于自動(dòng)智能分類器的圖書(shū)館亂架圖書(shū)檢測(cè)
搭建深度學(xué)習(xí)的三級(jí)階梯
有體驗(yàn)的學(xué)習(xí)才是有意義的學(xué)習(xí)
電子商務(wù)中基于深度學(xué)習(xí)的虛假交易識(shí)別研究
利用網(wǎng)絡(luò)技術(shù)促進(jìn)學(xué)生深度學(xué)習(xí)的幾大策略
考試周刊(2016年94期)2016-12-12 12:15:04
MOOC與翻轉(zhuǎn)課堂融合的深度學(xué)習(xí)場(chǎng)域建構(gòu)
大數(shù)據(jù)技術(shù)在反恐怖主義中的應(yīng)用展望
深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
主站蜘蛛池模板: 亚洲AV无码精品无码久久蜜桃| 欧美亚洲一区二区三区导航| 小说区 亚洲 自拍 另类| 国产91精品久久| 最新国产午夜精品视频成人| 无码有码中文字幕| 国产午夜精品一区二区三| 精品人妻一区无码视频| 亚洲男人天堂网址| 亚洲精品少妇熟女| 一级毛片免费不卡在线| 亚洲bt欧美bt精品| 国产精品视频导航| 五月婷婷综合在线视频| 91啦中文字幕| 久久夜色精品| 日韩美女福利视频| 欧美综合区自拍亚洲综合绿色| 国产精品久久久久久影院| 综合色区亚洲熟妇在线| 国产精品亚洲欧美日韩久久| 国产精品极品美女自在线网站| 女人毛片a级大学毛片免费| 欧美笫一页| 日韩乱码免费一区二区三区| 亚洲欧美综合精品久久成人网| 国产成人精品日本亚洲| 久久永久精品免费视频| 高h视频在线| 波多野结衣亚洲一区| 亚洲AV无码一区二区三区牲色| 在线观看欧美精品二区| 亚洲国产一成久久精品国产成人综合| 国产美女免费| 亚洲国产看片基地久久1024| 99热线精品大全在线观看| 91伊人国产| 3344在线观看无码| 9丨情侣偷在线精品国产| 国产h视频免费观看| 成人午夜久久| 99草精品视频| 九九热精品在线视频| 国产中文一区二区苍井空| 久久免费视频播放| 福利姬国产精品一区在线| 97一区二区在线播放| 欧美日韩精品一区二区在线线| 国产亚洲视频免费播放| 亚洲精品动漫| jizz在线免费播放| 亚洲日韩国产精品综合在线观看| 亚洲综合专区| 亚洲熟妇AV日韩熟妇在线| 久久久久亚洲精品无码网站| 无码电影在线观看| 亚洲日本中文字幕天堂网| 亚洲成av人无码综合在线观看| 国产成人一区免费观看| 美女毛片在线| 亚洲国产成人在线| 亚洲自拍另类| 久久中文无码精品| 国产99在线| 日韩国产高清无码| 成人免费网站久久久| 精品三级在线| AV无码国产在线看岛国岛| 免费在线看黄网址| 亚洲三级a| 欧美精品在线免费| 精品亚洲麻豆1区2区3区| 99久久成人国产精品免费| 亚洲最黄视频| 国产精品欧美亚洲韩国日本不卡| 无码 在线 在线| 日本一区高清| 在线观看的黄网| 青青久久91| 国产人成网线在线播放va| 国产综合精品日本亚洲777| 夜夜操狠狠操|