文件級工作量感知的軟件缺陷預(yù)測研究與應(yīng)用
發(fā)布時間:2020-06-13 21:43
【摘要】:隨著軟件技術(shù)的不斷發(fā)展,軟件系統(tǒng)與人類生產(chǎn)生活結(jié)合越來越緊密,軟件系統(tǒng)的規(guī)模也越來越大。軟件缺陷預(yù)測技術(shù)可以幫助測試人員快速發(fā)現(xiàn)軟件系統(tǒng)中可能存在的缺陷。在軟件開發(fā)的早期階段就發(fā)現(xiàn)并修復(fù)軟件系統(tǒng)中的缺陷可以減少整個軟件項目的開發(fā)成本。如今的軟件系統(tǒng)規(guī)模越來越大,測試人員對可能包含缺陷的源代碼文件逐一進行檢查,是一項工作量十分龐大的工作。而且,對于一些預(yù)測精度不高的軟件缺陷預(yù)測系統(tǒng),測試人員可能檢查了很多源代碼文件也沒有發(fā)現(xiàn)真正的缺陷,這將打擊測試人員的工作積極性,降低工作效率。與傳統(tǒng)軟件缺陷預(yù)測方法不同的是,工作量感知的軟件缺陷預(yù)測方法只需要檢查少量的源代碼文件就能發(fā)現(xiàn)系統(tǒng)中的大部分缺陷。為了盡可能減少測試人員的工作量,本文提出一種適用于文件級軟件缺陷預(yù)測的工作量感知的缺陷排序算法。針對引入工作量感知概念后,傳統(tǒng)缺陷預(yù)測模型精度降低的問題,本文結(jié)合ManualUP和邏輯回歸算法,提出基于ManualUP和邏輯回歸相結(jié)合的有監(jiān)督缺陷預(yù)測算法。在工作量感知的軟件缺陷預(yù)測中,提高軟件缺陷預(yù)測模型的預(yù)測精度,并通過實驗驗證了該算法的有效性。最后基于該算法設(shè)計了一個工作量感知的軟件缺陷預(yù)測系統(tǒng)。本文的主要工作如下:(1)介紹了與本文研究內(nèi)容相關(guān)的背景知識、研究意義與研究現(xiàn)狀,針對現(xiàn)有缺陷預(yù)測方法在工作量感知的條件下精度不高的問題提出了解決辦法,并對本文的研究目的以及相關(guān)技術(shù)進行了描述和分析。(2)在文件級的缺陷預(yù)測中,提出了工作量感知的軟件缺陷排序算法。該算法利用軟件特征度量元建立簡單的無監(jiān)督模型,只需要檢查少量源代碼文件就能發(fā)現(xiàn)軟件系統(tǒng)中大部分缺陷,降低測試人員的工作量。(3)提出了基于ManualUP和邏輯回歸相結(jié)合的有監(jiān)督缺陷預(yù)測算法。針對傳統(tǒng)軟件缺陷預(yù)測算法在工作量感知的缺陷預(yù)測中精度不高的問題,將ManualUP與邏輯回歸算法結(jié)合,提升了預(yù)測精度,同時降低了測試人員的工作量。(4)基于ManualUP和邏輯回歸相結(jié)合的有監(jiān)督缺陷預(yù)測算法,設(shè)計了工作量感知的軟件缺陷預(yù)測原型系統(tǒng)。介紹了系統(tǒng)需求,并設(shè)計和實現(xiàn)了該原型系統(tǒng)。
【圖文】:
回歸回歸是一種應(yīng)用十分廣泛的機器學(xué)習(xí)分類器,當面對軟件缺陷問題時,建立代價函數(shù)并求解驗證所得模型的性能。邏輯回歸,線性回歸是對有連續(xù)值得結(jié)果進行預(yù)測的方法,它通過設(shè)置分類問題。然而,實際的樣本包含大量的噪音,如果單純的使閾值的方式就很難得到一個性能良好的分類器;貧w利用了線性回歸的預(yù)測結(jié)果,如果預(yù)測結(jié)果是一個連續(xù)值又無法確定,那么就利用密度函數(shù)將這個值映射到 0 到 1 的公式 2.4 所示:( )/( )/ 2( )(1 )xxef xe 示位置,γ 表示曲線的形狀。一般情況下,取 μ=0,γ=1,,可d 曲線如圖 2.1 所示:
圖 3.1 基于代碼行數(shù)的 Alberg 圖Figure 3.1 Alberg diagram based on lines of code.圖中的橫坐標表示待檢查的源代碼文件中代碼行數(shù)的累計百分比,縱坐標被檢查源代碼文件中真實缺陷個數(shù)的累計百分比。圖中有三條曲線,分別表測模型 m,理想模型 optimal 以及最差模型 worst。理想模型是按照所有源代件實際的缺陷密度遞減順序排列。Area(optimal)表示最優(yōu)曲線與橫坐標之間積。預(yù)測模型是按照所有源代碼文件預(yù)期的缺陷可能性大小降序排序。Area示預(yù)測模型曲線與橫坐標之間的面積。最差模型是按照源代碼文件的缺陷密序排列。Area(worst)表示最差模型曲線與橫坐標之間的面積。 ( )optP m 的計算如下:( ) ( )( ) 1( ) ( )optArea optimal Area mP mArea optimal Area worst (( )optP m 的值越大就表明該軟件缺陷預(yù)測模型的預(yù)測結(jié)果與理想模型的預(yù)測越相近,反之則越最差模型的預(yù)測結(jié)果越相近。
【學(xué)位授予單位】:重慶大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP311.53
本文編號:2711784
【圖文】:
回歸回歸是一種應(yīng)用十分廣泛的機器學(xué)習(xí)分類器,當面對軟件缺陷問題時,建立代價函數(shù)并求解驗證所得模型的性能。邏輯回歸,線性回歸是對有連續(xù)值得結(jié)果進行預(yù)測的方法,它通過設(shè)置分類問題。然而,實際的樣本包含大量的噪音,如果單純的使閾值的方式就很難得到一個性能良好的分類器;貧w利用了線性回歸的預(yù)測結(jié)果,如果預(yù)測結(jié)果是一個連續(xù)值又無法確定,那么就利用密度函數(shù)將這個值映射到 0 到 1 的公式 2.4 所示:( )/( )/ 2( )(1 )xxef xe 示位置,γ 表示曲線的形狀。一般情況下,取 μ=0,γ=1,,可d 曲線如圖 2.1 所示:
圖 3.1 基于代碼行數(shù)的 Alberg 圖Figure 3.1 Alberg diagram based on lines of code.圖中的橫坐標表示待檢查的源代碼文件中代碼行數(shù)的累計百分比,縱坐標被檢查源代碼文件中真實缺陷個數(shù)的累計百分比。圖中有三條曲線,分別表測模型 m,理想模型 optimal 以及最差模型 worst。理想模型是按照所有源代件實際的缺陷密度遞減順序排列。Area(optimal)表示最優(yōu)曲線與橫坐標之間積。預(yù)測模型是按照所有源代碼文件預(yù)期的缺陷可能性大小降序排序。Area示預(yù)測模型曲線與橫坐標之間的面積。最差模型是按照源代碼文件的缺陷密序排列。Area(worst)表示最差模型曲線與橫坐標之間的面積。 ( )optP m 的計算如下:( ) ( )( ) 1( ) ( )optArea optimal Area mP mArea optimal Area worst (( )optP m 的值越大就表明該軟件缺陷預(yù)測模型的預(yù)測結(jié)果與理想模型的預(yù)測越相近,反之則越最差模型的預(yù)測結(jié)果越相近。
【學(xué)位授予單位】:重慶大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2018
【分類號】:TP311.53
【參考文獻】
相關(guān)期刊論文 前1條
1 王青;伍書劍;李明樹;;軟件缺陷預(yù)測技術(shù)[J];軟件學(xué)報;2008年07期
相關(guān)博士學(xué)位論文 前1條
1 馬櫻;基于機器學(xué)習(xí)的軟件缺陷預(yù)測技術(shù)研究[D];電子科技大學(xué);2012年
本文編號:2711784
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2711784.html
最近更新
教材專著