基于度量的軟件缺陷預(yù)測(cè)研究
發(fā)布時(shí)間:2020-08-11 14:08
【摘要】:軟件系統(tǒng)在人類社會(huì)中有著日益廣泛而深入的應(yīng)用,其可靠性十分重要。隨著軟件系統(tǒng)規(guī)模與復(fù)雜度的迅速增長(zhǎng),在資源有限的情況下,完全依賴傳統(tǒng)的軟件測(cè)試方法很難找出軟件系統(tǒng)當(dāng)中的全部缺陷。靜態(tài)軟件缺陷預(yù)測(cè)技術(shù)能夠借助通過軟件度量獲得的歷史數(shù)據(jù),利用機(jī)器學(xué)習(xí)方法構(gòu)造出軟件缺陷預(yù)測(cè)模型,進(jìn)而對(duì)新的軟件模塊進(jìn)行預(yù)測(cè),判定這些新模塊當(dāng)中是否存在缺陷,為提高軟件系統(tǒng)的可靠性提供有效的決策支持。軟件缺陷預(yù)測(cè)包括獲取模塊標(biāo)記、提取模塊特征、構(gòu)造預(yù)測(cè)模型、進(jìn)行缺陷預(yù)測(cè)等基本步驟。缺陷預(yù)測(cè)所用的歷史數(shù)據(jù)是通過進(jìn)行軟件度量獲得的,這些缺陷數(shù)據(jù)存在結(jié)構(gòu)復(fù)雜、類不平衡、標(biāo)記樣本不足、不同數(shù)據(jù)集等問題;此外,在進(jìn)行軟件缺陷預(yù)測(cè)的過程中,還需要考慮誤判風(fēng)險(xiǎn)成本問題。針對(duì)上述軟件缺陷預(yù)測(cè)當(dāng)中的問題,提出了核字典學(xué)習(xí)、多核集成學(xué)習(xí)、半監(jiān)督集成學(xué)習(xí)等軟件缺陷預(yù)測(cè)方法。論文的研究?jī)?nèi)容主要包含如下方面:(1)提出了一種基于核字典學(xué)習(xí)的軟件缺陷預(yù)測(cè)方法。將核方法與字典學(xué)習(xí)結(jié)合起來,首先根據(jù)軟件缺陷歷史數(shù)據(jù)結(jié)構(gòu)復(fù)雜、類不平衡的特點(diǎn),利用核方法將軟件缺陷歷史數(shù)據(jù)映射到一個(gè)能代表原始數(shù)據(jù)分布的高維特征空間。然后在核空間中,通過學(xué)習(xí)得到一個(gè)核字典,利用這個(gè)核字典判定軟件模塊的標(biāo)記,對(duì)軟件模塊進(jìn)行缺陷預(yù)測(cè)。在核字典學(xué)習(xí)過程中,采用了一種核字典基選擇策略,構(gòu)造出一個(gè)類別平衡的核字典,解決了軟件缺陷預(yù)測(cè)當(dāng)中的類不平衡問題。(2)提出了一種基于多核集成學(xué)習(xí)的軟件缺陷預(yù)測(cè)方法。多核集成學(xué)習(xí)方法能夠利用集成學(xué)習(xí)來獲得最優(yōu)的多核分類器,使得該方法在用于軟件缺陷預(yù)測(cè)時(shí),能夠兼有多核學(xué)習(xí)與集成學(xué)習(xí)的優(yōu)點(diǎn)?紤]到軟件缺陷預(yù)測(cè)中的風(fēng)險(xiǎn)成本,設(shè)計(jì)了一種新的樣本集權(quán)重向量更新策略,在多核集成學(xué)習(xí)的訓(xùn)練過程中,根據(jù)分類結(jié)果,逐步增加有缺陷模塊權(quán)重,同時(shí)降低無缺陷模塊的權(quán)重,從而增加對(duì)有缺陷模塊的關(guān)注程度,降低把有缺陷模塊預(yù)測(cè)為無缺陷模塊的風(fēng)險(xiǎn),提高軟件缺陷預(yù)測(cè)的效果。(3)提出了一種基于半監(jiān)督集成學(xué)習(xí)的軟件缺陷預(yù)測(cè)方法。將半監(jiān)督學(xué)習(xí)與集成學(xué)習(xí)結(jié)合起來,不僅能夠充分利用大量存在的未標(biāo)記模塊進(jìn)行訓(xùn)練,在標(biāo)記樣本不足的情況下增強(qiáng)對(duì)分類器的訓(xùn)練,同時(shí)還能夠解決軟件缺陷歷史數(shù)據(jù)本身存在的類不平衡問題,從而提高軟件缺陷的預(yù)測(cè)效果?紤]到相似度矩陣的重要作用,在求取相似度矩陣時(shí),采用了非負(fù)稀疏編碼的方法,以獲得更加穩(wěn)定學(xué)習(xí)效果更好的相似度矩陣,提高半監(jiān)督集成學(xué)習(xí)的缺陷預(yù)測(cè)效果。在NASA MDP數(shù)據(jù)集上的實(shí)驗(yàn)表明,論文當(dāng)中提出的核字典學(xué)習(xí)缺陷預(yù)測(cè)方法、多核集成學(xué)習(xí)缺陷預(yù)測(cè)方法、半監(jiān)督集成學(xué)習(xí)缺陷預(yù)測(cè)方法均獲得了較好的軟件缺陷預(yù)測(cè)效果。
【學(xué)位授予單位】:武漢大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP311.5
【圖文】:
圖1-1邋Linxu邋Kernel代碼規(guī)模增長(zhǎng)情況逡逑機(jī)器學(xué)習(xí)是根據(jù)生理學(xué)、認(rèn)知學(xué)等學(xué)科對(duì)人類學(xué)習(xí)機(jī)理的了解,利用數(shù)據(jù)或逡逑經(jīng)驗(yàn)進(jìn)行計(jì)算或認(rèn)識(shí),建立面向任務(wù)的學(xué)習(xí)系統(tǒng)。近年來,機(jī)器學(xué)習(xí)理論被成功逡逑應(yīng)用于諸多領(lǐng)域,己經(jīng)成為人工智能(Artificial邋Intelligence,邋AI)的又一個(gè)十分逡逑重要的領(lǐng)域。2016年3月,Google邋DeepMind旗下的圍棋程序AlphaGo在通過數(shù)逡逑
方式的差異,可將軟件缺陷預(yù)測(cè)分為動(dòng)態(tài)軟件缺陷預(yù)測(cè)(Dynamic邋Software邋Defect逡逑Prediction邋Technology)與靜態(tài)軟件缺陷預(yù)測(cè)(Static邋Software邋Defect邋Prediction逡逑Technology)兩種方法[1,1()](圖1-2)。動(dòng)態(tài)軟件缺陷預(yù)測(cè)是一種預(yù)測(cè)軟件系統(tǒng)當(dāng)中逡逑的缺陷和錯(cuò)誤隨著時(shí)間分布情況的技術(shù),其主要關(guān)注點(diǎn)在于缺陷和錯(cuò)誤隨時(shí)間發(fā)逡逑生變化的趨勢(shì)。通過預(yù)測(cè)軟件系統(tǒng)下一個(gè)版本或者下一個(gè)生命周期可能出現(xiàn)的缺逡逑陷數(shù)量,動(dòng)態(tài)軟件缺陷預(yù)測(cè)能夠幫助軟件測(cè)試人員更好地開展工作。由于涉及時(shí)逡逑間因素,動(dòng)態(tài)軟件缺陷預(yù)測(cè)數(shù)據(jù)的獲取需要對(duì)軟件系統(tǒng)進(jìn)行長(zhǎng)時(shí)間的監(jiān)測(cè)、度量,逡逑因此,動(dòng)態(tài)軟件缺陷預(yù)測(cè)更適用于軟件產(chǎn)品的運(yùn)營(yíng)和維護(hù)階段。靜態(tài)軟件缺陷預(yù)逡逑測(cè)則是通過分析軟件開發(fā)過程的相關(guān)信息或分析軟件程序源代碼,設(shè)計(jì)出能表征逡逑軟件缺陷相關(guān)的度量元,利用缺陷跟蹤系統(tǒng)(如Tmc、Mantis、Bugzilla等)、版逡逑本控制系統(tǒng)(如Git、CVS、SVN等)或項(xiàng)目開發(fā)人員電子郵件分析系統(tǒng)等方法逡逑對(duì)軟件歷史倉庫進(jìn)行挖掘與分析,構(gòu)建出用于預(yù)測(cè)的軟件缺陷預(yù)測(cè)數(shù)據(jù)集,并通逡逑過訓(xùn)練建立起缺陷預(yù)測(cè)模型
在的缺陷預(yù)測(cè)數(shù)據(jù)結(jié)構(gòu)復(fù)雜、類不平衡、標(biāo)記樣本不足、不同數(shù)據(jù)集,以及誤判逡逑風(fēng)險(xiǎn)成本等問題,針對(duì)這些問題,研究了將機(jī)器學(xué)習(xí)當(dāng)中的核方法、多核學(xué)習(xí)、逡逑集成學(xué)習(xí)、半監(jiān)督學(xué)習(xí)等學(xué)習(xí)方法應(yīng)用到軟件缺陷預(yù)測(cè)當(dāng)中,圖1-3展示了本文逡逑的研究?jī)?nèi)容與這些軟件缺陷預(yù)測(cè)問題的對(duì)應(yīng)關(guān)系。其中,基于核字典的缺陷預(yù)測(cè)逡逑方法主要解決缺陷預(yù)測(cè)當(dāng)中的數(shù)據(jù)結(jié)構(gòu)復(fù)雜、類不平衡問題;基于多核集成的缺逡逑13逡逑
本文編號(hào):2789168
【學(xué)位授予單位】:武漢大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2018
【分類號(hào)】:TP311.5
【圖文】:
圖1-1邋Linxu邋Kernel代碼規(guī)模增長(zhǎng)情況逡逑機(jī)器學(xué)習(xí)是根據(jù)生理學(xué)、認(rèn)知學(xué)等學(xué)科對(duì)人類學(xué)習(xí)機(jī)理的了解,利用數(shù)據(jù)或逡逑經(jīng)驗(yàn)進(jìn)行計(jì)算或認(rèn)識(shí),建立面向任務(wù)的學(xué)習(xí)系統(tǒng)。近年來,機(jī)器學(xué)習(xí)理論被成功逡逑應(yīng)用于諸多領(lǐng)域,己經(jīng)成為人工智能(Artificial邋Intelligence,邋AI)的又一個(gè)十分逡逑重要的領(lǐng)域。2016年3月,Google邋DeepMind旗下的圍棋程序AlphaGo在通過數(shù)逡逑
方式的差異,可將軟件缺陷預(yù)測(cè)分為動(dòng)態(tài)軟件缺陷預(yù)測(cè)(Dynamic邋Software邋Defect逡逑Prediction邋Technology)與靜態(tài)軟件缺陷預(yù)測(cè)(Static邋Software邋Defect邋Prediction逡逑Technology)兩種方法[1,1()](圖1-2)。動(dòng)態(tài)軟件缺陷預(yù)測(cè)是一種預(yù)測(cè)軟件系統(tǒng)當(dāng)中逡逑的缺陷和錯(cuò)誤隨著時(shí)間分布情況的技術(shù),其主要關(guān)注點(diǎn)在于缺陷和錯(cuò)誤隨時(shí)間發(fā)逡逑生變化的趨勢(shì)。通過預(yù)測(cè)軟件系統(tǒng)下一個(gè)版本或者下一個(gè)生命周期可能出現(xiàn)的缺逡逑陷數(shù)量,動(dòng)態(tài)軟件缺陷預(yù)測(cè)能夠幫助軟件測(cè)試人員更好地開展工作。由于涉及時(shí)逡逑間因素,動(dòng)態(tài)軟件缺陷預(yù)測(cè)數(shù)據(jù)的獲取需要對(duì)軟件系統(tǒng)進(jìn)行長(zhǎng)時(shí)間的監(jiān)測(cè)、度量,逡逑因此,動(dòng)態(tài)軟件缺陷預(yù)測(cè)更適用于軟件產(chǎn)品的運(yùn)營(yíng)和維護(hù)階段。靜態(tài)軟件缺陷預(yù)逡逑測(cè)則是通過分析軟件開發(fā)過程的相關(guān)信息或分析軟件程序源代碼,設(shè)計(jì)出能表征逡逑軟件缺陷相關(guān)的度量元,利用缺陷跟蹤系統(tǒng)(如Tmc、Mantis、Bugzilla等)、版逡逑本控制系統(tǒng)(如Git、CVS、SVN等)或項(xiàng)目開發(fā)人員電子郵件分析系統(tǒng)等方法逡逑對(duì)軟件歷史倉庫進(jìn)行挖掘與分析,構(gòu)建出用于預(yù)測(cè)的軟件缺陷預(yù)測(cè)數(shù)據(jù)集,并通逡逑過訓(xùn)練建立起缺陷預(yù)測(cè)模型
在的缺陷預(yù)測(cè)數(shù)據(jù)結(jié)構(gòu)復(fù)雜、類不平衡、標(biāo)記樣本不足、不同數(shù)據(jù)集,以及誤判逡逑風(fēng)險(xiǎn)成本等問題,針對(duì)這些問題,研究了將機(jī)器學(xué)習(xí)當(dāng)中的核方法、多核學(xué)習(xí)、逡逑集成學(xué)習(xí)、半監(jiān)督學(xué)習(xí)等學(xué)習(xí)方法應(yīng)用到軟件缺陷預(yù)測(cè)當(dāng)中,圖1-3展示了本文逡逑的研究?jī)?nèi)容與這些軟件缺陷預(yù)測(cè)問題的對(duì)應(yīng)關(guān)系。其中,基于核字典的缺陷預(yù)測(cè)逡逑方法主要解決缺陷預(yù)測(cè)當(dāng)中的數(shù)據(jù)結(jié)構(gòu)復(fù)雜、類不平衡問題;基于多核集成的缺逡逑13逡逑
【參考文獻(xiàn)】
相關(guān)期刊論文 前4條
1 王瑞;杜林峰;孫督;萬旺根;;復(fù)雜場(chǎng)景下結(jié)合SIFT與核稀疏表示的交通目標(biāo)分類識(shí)別[J];電子學(xué)報(bào);2014年11期
2 陳思寶;趙令;羅斌;;基于局部保持的核稀疏表示字典學(xué)習(xí)[J];自動(dòng)化學(xué)報(bào);2014年10期
3 姜遠(yuǎn);黎銘;周志華;;Software Defect Detection with ROCUS[J];Journal of Computer Science & Technology;2011年02期
4 王青;伍書劍;李明樹;;軟件缺陷預(yù)測(cè)技術(shù)[J];軟件學(xué)報(bào);2008年07期
本文編號(hào):2789168
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2789168.html
最近更新
教材專著