亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種軟件缺陷組件預(yù)測的方法

文檔序號:8380876閱讀:400來源:國知局
一種軟件缺陷組件預(yù)測的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件安全領(lǐng)域,特別涉及一種軟件缺陷組件預(yù)測的方法。
【背景技術(shù)】
[0002] 軟件缺陷是指計算機(jī)軟件或程序中存在的某種破壞正常運(yùn)行能力的問題、錯誤, 或者隱藏的功能缺陷。軟件缺陷產(chǎn)生主要是由軟件本身的特點(diǎn)和開發(fā)過程決定的,如何控 制軟件缺陷對于生產(chǎn)高質(zhì)量的軟件是非常關(guān)鍵的。
[0003] 軟件缺陷預(yù)測通過對軟件或軟件度量相關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計或數(shù)學(xué)分析,預(yù)測軟件中 缺陷的分布情況和可能的數(shù)量。缺陷預(yù)測技術(shù)通過找到有出錯傾向的實(shí)體并給出相應(yīng)的解 決方案,可以幫助管理人員和開發(fā)人員重點(diǎn)關(guān)注容易出現(xiàn)缺陷的實(shí)體,降低了軟件開發(fā)和 維護(hù)的成本,提高了軟件可靠性。
[0004] 近年來關(guān)于缺陷預(yù)測的研宄主要關(guān)注在兩個方面,其一是缺陷歷史,其二是軟件 源代碼本身。Nagappan等人通過研宄發(fā)現(xiàn)如果一個實(shí)體在過去幾個版本中很容易引進(jìn)缺 陷,那么這個實(shí)體在未來也很容易出現(xiàn)缺陷。他們將歷史缺陷信息作為選擇度量元的一個 依據(jù),然后用選擇的度量元來進(jìn)行缺陷組件的預(yù)測研宄。但是Gill等人在論文中闡述了基 于組件的軟件特征并指出傳統(tǒng)的度量元用來描述基于組件的軟件是不合適的。他們認(rèn)為語 義信息和源代碼復(fù)雜度等信息應(yīng)該被考慮到組件缺陷預(yù)測的研宄中。
[0005] 與此同時,一種基于上下文語義相關(guān)的度量元(基于主題的度量元)被大量應(yīng)用 到軟件缺陷預(yù)測的工作中,并被證明在缺陷預(yù)測研宄中具有較好的效果。這些研宄中大多 數(shù)用LDA來進(jìn)行主題提取和構(gòu)建工作。Nguyen等人就是較早就使用主題模型研宄軟件缺陷 問題。在他的研宄中給出了基于主題的度量元與軟件缺陷數(shù)目之間具有強(qiáng)烈關(guān)系,并斷言 基于主題度量元的缺陷預(yù)測效果將會優(yōu)于其他傳統(tǒng)度量元。Chen利用主題模型來描述帶 有缺陷的源代碼。在他的實(shí)驗(yàn)中先定義缺陷主題,并通過缺陷主題來描述源代碼缺陷情況。 結(jié)果表明缺陷主題可以很好的描述軟件源代碼缺陷程度。但是,Chen在他的研宄中主要關(guān) 注的是缺陷與單個文件的缺陷關(guān)系,而沒有分析缺陷主題與組件的關(guān)系,也沒有很好的證 明缺陷主題與缺陷預(yù)測的關(guān)系。

【發(fā)明內(nèi)容】

[0006] 針對現(xiàn)有技術(shù)存在的上述問題,本發(fā)明的目的是提供一種綜合考慮源代碼缺陷信 息和語義信息、源代碼不同版本間主題的關(guān)聯(lián)信息的軟件缺陷組件預(yù)測的方法。
[0007] 為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:一種軟件缺陷組件預(yù)測的方法,具體 包括如下步驟:
[0008] SI:數(shù)據(jù)抽取與預(yù)處理:提取源代碼,對所提取的源代碼進(jìn)行去噪處理。
[0009] S2 :定義組件缺陷密度:
[0010] 將組件缺陷數(shù)與組件文件個數(shù)的比值定義為組件缺陷密度FD(Com)如式(1)所 示:
[0012] 其中com」表示第j組件,F(xiàn)D (com」)為第j組件缺陷密度,F(xiàn)ailure (com」)為組件j 包含的缺陷總數(shù),F(xiàn)ile(Comj)表示組件j包含的文件總數(shù);
【主權(quán)項(xiàng)】
1. 一種軟件缺陷組件預(yù)測的方法,其特征在于:具體包括如下步驟: S1:數(shù)據(jù)抽取與預(yù)處理:提取源代碼,對所提取的源代碼進(jìn)行去噪處理。 52 :定義組件缺陷密度: 將組件缺陷數(shù)與組件文件個數(shù)的比值定義為組件缺陷密度FD(com)如式(1)所示:
其中com」表示第j組件,F(xiàn)D(com」)為第j組件缺陷密度,F(xiàn)ailure(com」)為組件j包含 的缺陷總數(shù),F(xiàn)ile(comp表示組件j包含的文件總數(shù); 53 :定義主題缺陷密度: 組件主題和組件缺陷密度均來自于軟件源代碼,定義主題缺陷密度TFD(Z)如式(7)所 示
其中Zi表示第i個主題,TFD(ZJ表示第i個主題的主題缺陷密度,0 u為主題分布矩 陣,n表示組件個數(shù); 54 :缺陷組件預(yù)測: S4a:定義相似關(guān)系,如式(8):
其中HighestWordfromTi表示第i個主題下的高頻詞匯,HighestWordfromTk表示第k個主題下的高頻詞匯,NumberofHighestWord表示第i個主題或第k個主題下的總的高頻 詞匯個數(shù),Similarity表示第i個主題與第k個主題的相似關(guān)系;使i和k遍歷其取值范 圍,得到主題相似矩陣; S4b:通過主題相似矩陣構(gòu)建不同版本間主題的演化公式如式(9):
其中'表示第r個版本,vfr+1)表示第r+1個版本,zk表示第k個主題,z,表示第i個 主題,TFD(zk,表示第r個版本中第k個主題的主題缺陷密度,TFD(Zi,v(rt))表示第r+1 個版本中第i個主題的主題缺陷密度,[k]為第r個版本中總的主題個數(shù),yik是主題相似 矩陣中的元素,表示第個i主題和第個k主題之間的相似度。
【專利摘要】本發(fā)明涉及一種軟件缺陷組件預(yù)測的方法,該方法通過定義主題缺陷密度來兼顧源代碼語義信息和歷史缺陷信息,然后根據(jù)版本之間主題的關(guān)聯(lián)信息進(jìn)行缺陷組件預(yù)測,得到組件缺陷數(shù)目。本發(fā)明提供的方法簡單有效,通過定義主題缺陷密度來兼顧源代碼語義信息和歷史缺陷信息,通過定義相似關(guān)系矩陣考慮不同版本間的主題關(guān)聯(lián)信息,從而預(yù)測準(zhǔn)確率高,可達(dá)77.8%,預(yù)測結(jié)果經(jīng)過驗(yàn)證,預(yù)測精度也很高。
【IPC分類】G06F11-36
【公開號】CN104699614
【申請?zhí)枴緾N201510139774
【發(fā)明人】徐玲, 楊夢寧, 葛永新, 洪明堅, 張小洪, 劉海林, 鄢萌
【申請人】重慶大學(xué)
【公開日】2015年6月10日
【申請日】2015年3月27日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1