亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        融合加權(quán)代碼異味強(qiáng)度因子軟件缺陷預(yù)測模型

        2022-12-30 08:15:46陳鏡如黃子杰高建華
        計算機(jī)工程與設(shè)計 2022年12期
        關(guān)鍵詞:檢測模型

        陳鏡如,黃子杰,高建華

        (1.上海師范大學(xué) 計算機(jī)科學(xué)與技術(shù)系,上海 200234;2.華東理工大學(xué) 計算機(jī)科學(xué)與工程系,上海 200237)

        0 引 言

        研究表明[1],分析與源代碼質(zhì)量相關(guān)的結(jié)構(gòu)度量來預(yù)測缺陷及其發(fā)生傾向,但使用單一的結(jié)構(gòu)度量作為特征沒有取得良好的預(yù)測效果。缺陷預(yù)測是一種有監(jiān)督學(xué)習(xí)的任務(wù),它將特征因子作為一組獨立變量,將類的缺陷傾向性作為因變量,訓(xùn)練機(jī)器學(xué)習(xí)分類器,并給出預(yù)測結(jié)果。文獻(xiàn)[2]指出在添加代碼異味強(qiáng)度作為軟件缺陷的預(yù)測因子時,可以為模型帶來信息增益,并提高缺陷模型的預(yù)測能力。

        代碼異味已經(jīng)成為軟件系統(tǒng)在維護(hù)軟件質(zhì)量方面造成復(fù)雜性的一個標(biāo)志[3]。代碼異味用于識別要重構(gòu)的代碼部分,以提高軟件的整體可維護(hù)性[4]。代碼異味與軟件缺陷成正相關(guān),并能對缺陷檢測模型的性能產(chǎn)生積極影響[5]。使用文獻(xiàn)[6]中提及的方法,將使用改進(jìn)代碼異味強(qiáng)度檢測方法作為預(yù)測因子添加到預(yù)測模型中,分析預(yù)測模型性能。

        機(jī)器學(xué)習(xí)技術(shù)在預(yù)測代碼異味方面有很大的潛力,有助于檢測這些異味并提高軟件質(zhì)量[7]。當(dāng)進(jìn)行特征選擇和應(yīng)用分類模型時,具有隨機(jī)森林分類器的BFS森林分類器給出了最好的性能[8]。

        Palomba等[9]認(rèn)為與復(fù)雜/長源代碼相關(guān)的異味通常被開發(fā)者視為重要威脅。代碼異味一旦被引入,就難以被移除,因此應(yīng)盡快將其重構(gòu)[10],否則將會在代碼實現(xiàn)和軟件架構(gòu)的粒度上引發(fā)更嚴(yán)重的問題[11],提升系統(tǒng)的易錯性,進(jìn)而導(dǎo)致軟件缺陷[12,13]。研究表明,可以通過組合結(jié)構(gòu)度量和閾值來檢測代碼異味[14],并進(jìn)一步衡量代碼異味強(qiáng)度表示其嚴(yán)重程度。

        1 相關(guān)術(shù)語

        1.1 本文涉及的代碼異味

        本文主要考慮以下6種代碼異味:God Class、Data Class、Brain Method、Shotgun Surgery、Dispersed Coupling和Message Chain,因為這6種代碼異味不僅是最常見的異味[15],而且與軟件缺陷的相關(guān)性最強(qiáng)[5]。6種代碼異味具體介紹如下。

        God Class:類承擔(dān)太多不同的職責(zé),使得代碼耦合性增強(qiáng),內(nèi)聚性降低。

        Data Class:類的函數(shù)沒有行為,僅用于存取類的屬性。

        Brain Method:集中實現(xiàn)多個函數(shù)功能的過大方法。

        Shotgun Surgery:每一次子方法發(fā)生變化,都會觸發(fā)其它幾個類許多的變化的一個類。

        Dispersed Coupling:與其它的類發(fā)生太多耦合的類。

        Message Chains:過度耦合的函數(shù)調(diào)用鏈,在執(zhí)行某個功能時,需要調(diào)用連續(xù)的多個方法。

        上述代碼異味的檢測策略將在2.1節(jié)詳述。

        1.2 隨機(jī)森林

        隨機(jī)森林是一種基于Bagging的集成學(xué)習(xí)方法,其核心思想是將Bootstrap方法應(yīng)用到Cart算法中。

        Gini指數(shù)的計算如式(1)所示

        (1)

        式中:K表示K個類別,pmk表示節(jié)點m中類別k所占的比例。

        特征Xj在節(jié)點m的重要性,即節(jié)點m分枝前后的Gini指數(shù)變化量如式(2)所示

        (2)

        式中:GIl和GIr分別表示分枝后兩個新節(jié)點的Gini指數(shù)。

        特征Xj在決策樹i中出現(xiàn)的節(jié)點在集合M中,那么Xj在第i棵樹的重要性,如式(3)所示

        (3)

        (4)

        為了能夠更方便的對特征重要性評分作比較,對其進(jìn)行歸一化處理,如式(5)所示

        (5)

        2 基于隨機(jī)森林加權(quán)的代碼異味強(qiáng)度

        本文提出了一種基于隨機(jī)森林的代碼異味強(qiáng)度檢測方法,對Fontana等[15]提出的代碼異味強(qiáng)度計算公式進(jìn)行了改進(jìn),給每個度量賦予相應(yīng)的權(quán)值。本文提出的算法整體框架流程如圖1所示:

        圖1 加權(quán)強(qiáng)度因子總體流程

        (1)獲取軟件系統(tǒng)源文件。

        (2)使用JCodeOdor進(jìn)行代碼異味強(qiáng)度檢測,導(dǎo)出數(shù)據(jù)。

        (3)不同的檢測策略對度量的選擇各有側(cè)重,且度量的區(qū)分度不同,依照J(rèn)CodeOdor中檢測策略中的度量整理數(shù)據(jù),無需進(jìn)行特征提取。

        (4)將檢測策略中的各個度量作為特征,代碼異味強(qiáng)度作為標(biāo)簽,使用隨機(jī)森林評估特征重要度。

        (5)將特征重要度作為各個特征的權(quán)值,計算加權(quán)代碼異味強(qiáng)度。本文在計算代碼異味強(qiáng)度時使用檢測策略中的度量。

        本文提出的加權(quán)代碼異味強(qiáng)度,體現(xiàn)了各個度量對異味強(qiáng)度的不同影響,求得的代碼異味強(qiáng)度更為精確。

        2.1 驗證代碼異味檢測策略

        JCodeOdor是一個代碼異味檢測器,它依賴于度量和閾值組成的檢測策略來檢測代碼異味強(qiáng)度。其度量詳情見文獻(xiàn)[15],檢測策略見表1。

        表1 代碼異味檢測策略

        不同的檢測策略對度量的選擇各有側(cè)重,且度量的區(qū)分度不同,所以不同的檢測規(guī)則結(jié)果存在一定的差異[16]。不僅如此,度量指標(biāo)之間存在的相關(guān)性[17]可能會影響規(guī)則的檢測效果。

        為了驗證規(guī)則中的度量對本文數(shù)據(jù)集的適切程度,本文衡量其相關(guān)性。若規(guī)則中存在高度相關(guān)的度量,說明規(guī)則可能會部分失效,且這些度量會造成多重共線性問題(multicollinearity)。通過因變量R,即Pearson系數(shù)的高低,可以計算自變量x1,x2,……xn,n∈[1,20] 之間的相關(guān)性。兩個變量之間的Pearson相關(guān)系數(shù),用兩個變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商來定義。

        樣本Pearson相關(guān)系數(shù)如式(6)所示

        (6)

        r的相關(guān)程度判斷標(biāo)準(zhǔn)如下:[0.00,0.20)極低相關(guān),[0.02,0.40)低相關(guān),[0.40,0.60)中等相關(guān),[0.60,0.80)高度相關(guān),[0.80,1.0)極高相關(guān)。

        2.2 數(shù)據(jù)預(yù)處理

        JCodeOdor在檢測代碼異味強(qiáng)度時,對檢測到的值進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)值縮放到1到10之間便于比較,如式(7)所示

        (7)

        式中:min和max是在數(shù)據(jù)集[18]中包含的指標(biāo)的統(tǒng)計分布中的最小值和最大值。JCodeOdor利用1到10范圍內(nèi)的數(shù)值和提供強(qiáng)度語義描述的標(biāo)簽來呈現(xiàn)代碼異味強(qiáng)度,如圖2所示。

        圖2 異味強(qiáng)度標(biāo)簽和范圍

        本文選用JCodeOdor作為檢測工具來衡量代碼異味強(qiáng)度因子,該工具基于度量進(jìn)行檢測。6種異味的閾值見表2[15]。

        表2 6種異味的度量及其默認(rèn)閾值

        JCodeOdor在檢測異味時使用檢測策略中所有的度量并且對這些度量賦予相同的權(quán)重,如式(8)所示

        (8)

        式中:Int表示該代碼異味的代碼異味的強(qiáng)度,Metrici表示應(yīng)用JCodeOdor測得的第i個度量的值,n為代碼異味檢測策略中所用到的度量的個數(shù)。

        經(jīng)對比各種分析計算方法,發(fā)現(xiàn)因子分析和主成分分析利用了數(shù)據(jù)信息的濃縮原理,利用方差解釋率進(jìn)行權(quán)值運算,可能會忽略部分因子,而隨機(jī)森林計算權(quán)值可以解決這一問題。根據(jù)隨機(jī)森林評估特征重要性來改進(jìn)代碼異味強(qiáng)度公式,加權(quán)代碼異味強(qiáng)度的計算公式,如式(9)所示

        (9)

        式中:WInt表示該代碼異味的加權(quán)代碼異味的強(qiáng)度,ai為應(yīng)用隨機(jī)森林計算得出的特征重要度,Metrici表示應(yīng)用JCodeOdor測得的第i個度量的值。

        以Heritrix1.14.4為例,本文首先利用JCodeOdor對其系統(tǒng)進(jìn)行檢測,測得該系統(tǒng)中只有4種代碼異味,即Brain Method、Disperse Coupling、Message Chain、Shotgun Surgery。部分代碼異味度量值和代碼異味強(qiáng)度的值(Intensity)的結(jié)果見表3。

        2.3 權(quán)值計算

        根據(jù)上文中檢測出的數(shù)據(jù),以Heritrix v1.14.4中的setAttribute(CrawlerSettings,Attribute)方法為例,它檢測出具有Shotgun Surgery異味,其具有以下度量值:CC:8;CM:10;FANOUT:6。這些度量值滿足Shotgun Surgery檢測策略中定義的約束條件: CC≥HIGH(5)∧CM≥HIGH(6)∧FANOUT≥LOW(3)。

        將得到的實際度量值與表2中這5個點的閾值進(jìn)行比較,來定義檢測規(guī)則中每個度量的強(qiáng)度標(biāo)簽,具體規(guī)則見式(10)

        (10)

        由上文的強(qiáng)度閾值和劃分出的強(qiáng)度標(biāo)簽和范圍,如表2和圖2所示,可知,在Shotgun Surgery代碼異味檢測策略中的度量與強(qiáng)度標(biāo)簽相對應(yīng)如下:CC=高,CM=高,F(xiàn)ANOUT=非常高。

        原代碼異味強(qiáng)度計算公式為代碼異味強(qiáng)度為其檢測策略中各個度量強(qiáng)度的加和平均值,且每個強(qiáng)度標(biāo)簽與相應(yīng)值范圍的下限相關(guān)。

        在本例中,CC和CM度量取標(biāo)簽高即7.75,F(xiàn)ANOUT度量取標(biāo)簽非常高即10。將上述值帶入式(8)求代碼異味強(qiáng)度值,即式(11)所示

        (11)

        根據(jù)圖2中的強(qiáng)度標(biāo)簽,代碼異味強(qiáng)度因子值8.5與“高”強(qiáng)度標(biāo)簽相關(guān),即在范圍[7.75,10]內(nèi)。

        根據(jù)表3中的數(shù)據(jù),應(yīng)用隨機(jī)森林評估特征重要度,并將得到的基尼系數(shù)作為度量的權(quán)值,故加權(quán)代碼異味強(qiáng)度因子計算帶入式(9),如式(12)所示

        表3 Code Smell度量及其異味值

        0.329×7.75+0.321×7.75+0.35×10=8.5

        (12)

        由圖2中的強(qiáng)度標(biāo)簽來看,加權(quán)代碼異味強(qiáng)度因子值8.5與“高”強(qiáng)度標(biāo)簽相關(guān),即在范圍[7.75,10]內(nèi)。

        3 實 驗

        將加權(quán)代碼異味強(qiáng)度作為預(yù)測因子加入到現(xiàn)有的缺陷預(yù)測模型構(gòu)建新模型,并將新模型與原本模型進(jìn)行對比,評估代碼異味強(qiáng)度的貢獻(xiàn)。

        本文提出的預(yù)測模型框架流程如圖3所示:

        圖3 缺陷預(yù)測流程

        (1)確定基本預(yù)測因子,構(gòu)建基本軟件缺陷預(yù)測模型;

        (2)確定代碼異味檢測過程;

        1)JCodeOdor檢測軟件系統(tǒng)源文件;

        2)隨機(jī)森林特征重要度評估;

        3)加權(quán)代碼異味強(qiáng)度計算;

        (3)在基本缺陷預(yù)測模型的基礎(chǔ)上加入加權(quán)代碼異味強(qiáng)度作為預(yù)測因子,構(gòu)建新模型;

        (4)確定用于分類的機(jī)器學(xué)習(xí)技術(shù);

        本文在一個由Jureczko等[19]定義的20個軟件度量組成的缺陷預(yù)測模型中測試代碼異味強(qiáng)度作為預(yù)測因子的貢獻(xiàn)。

        3.1 實驗環(huán)境

        本文的實驗在Intel(R) Core(TM)i7-5500U、4 GB內(nèi)存的Windows 10環(huán)境下進(jìn)行,實驗的計算和分析使用Python完成。本文選取PROMISE數(shù)據(jù)集中的缺陷數(shù)據(jù)作為實驗對象,本文用到的數(shù)據(jù)集見表4。

        表4 實驗項目

        本文對這5個軟件系統(tǒng)進(jìn)行實驗,并回答以下問題:

        Q1:本文使用的檢測策略規(guī)則是否適用于數(shù)據(jù)集?

        Q2:本文所建構(gòu)的模型是否能提升缺陷預(yù)測的性能?

        Q3:與Fontana等提出的代碼異味強(qiáng)度因子相比,加權(quán)代碼異味強(qiáng)度作為預(yù)測因子是否能為缺陷預(yù)測模型帶來增益?可帶來多少增益?

        3.2 實驗過程

        本文使用以下3種預(yù)測因子組合構(gòu)建新模型,分析預(yù)測因子對模型貢獻(xiàn)的模型,以直觀地顯示預(yù)測因子帶來的模型性能提升,這些組合包括:

        (1)基本模型:

        基于Jureczko等[19]定義的20個軟件度量的軟件缺陷預(yù)測模型;

        (2)基本模型+代碼異味強(qiáng)度因子:

        1)將20個軟件度量和Fontana等提出的代碼異味強(qiáng)度作為預(yù)測因子,對于沒有異味的類,將其代碼異味強(qiáng)度因子設(shè)為0,構(gòu)建軟件缺陷預(yù)測模型;

        2)將20個軟件度量和本文提出的加權(quán)代碼異味強(qiáng)度作為預(yù)測因子,對于沒有異味的類,將其代碼異味強(qiáng)度因子設(shè)為0構(gòu)建軟件缺陷預(yù)測模型。

        本文對比了文獻(xiàn)[2]中使用的常見分類器,包括決策樹、邏輯回歸和簡單邏輯回歸等,發(fā)現(xiàn)簡單邏輯回歸的效果最好。這一實驗結(jié)果和文獻(xiàn)[2]的結(jié)果相吻合。

        3.3 實驗結(jié)果與分析

        為了回答Q1,本文驗證規(guī)則中的度量對數(shù)據(jù)集的適切程度,包括以下幾個方面:①度量間是否存在高相關(guān)性;②度量是否包含多種衡量代碼異味的角度。如代碼異味常表現(xiàn)出的低內(nèi)聚和高耦合,高復(fù)雜性等。因此,應(yīng)考慮度量中是否包含內(nèi)聚、耦合、復(fù)雜性和數(shù)據(jù)訪問。

        相關(guān)性分析是指對兩個或多個具備相關(guān)性的變量元素進(jìn)行分析,從而衡量兩個變量因素的相關(guān)密切程度。若存在相關(guān)性較過高的度量意味著多重共線性,機(jī)器學(xué)習(xí)模型和信息增益算法可能無法有效區(qū)分共線的特征,因此它們需要被移除。本文使用python檢測到的度量之間的相關(guān)性(Heritrix1.14.4)如圖4所示,線條上的數(shù)字為它們之間的相關(guān)性。本文發(fā)現(xiàn),檢測策略中的度量無顯著的相關(guān)性,不會造成多重共線問題。

        圖4 度量相關(guān)性網(wǎng)絡(luò)

        由相關(guān)性圖可知,各個度量之間有著復(fù)雜且多元的關(guān)系。具有極高相關(guān)性的有{FANOUT,CINT},{CINT,CFNAMM},{FANOUT,CFNAMM},{CC,CM};具有高度相關(guān)性的有:{ATLD,NOVA},{NOVA,NOLV},{CYCLO,LOC},{FDP,ATFD};具有極低相關(guān)性的有:{FANOUT,CM},{FANOUT,CC}。在同一異味下,檢測策略之間的相關(guān)性多處于高度相關(guān)以下。本文發(fā)現(xiàn),檢測策略中的度量無顯著的相關(guān)性,不會造成多重共線問題。

        為了回答Q2,需要評估模型的性能。本文采用10次10折交叉驗證。實驗結(jié)果見表5、表6,表5是原始缺陷預(yù)測模型測得有關(guān)模型各項數(shù)據(jù),表6是添加代碼異味強(qiáng)度作為預(yù)測因子和添加加權(quán)代碼異味強(qiáng)度作為預(yù)測因子時模型的各項數(shù)據(jù)。

        表5 原始模型結(jié)果

        由表6可知,在基本預(yù)測模型中添加代碼異味強(qiáng)度和加權(quán)代碼異味強(qiáng)度作為預(yù)測因子后,能夠?qū)崿F(xiàn)高精度預(yù)測。對于Apache Velocity,在分別添加代碼異味強(qiáng)度和改進(jìn)計算公式后求得的加權(quán)代碼異味強(qiáng)度作為模型的預(yù)測因子后,其模型精確度較原始模型分別提高25%和28%。這一結(jié)果意味著模型僅錯誤的分類了少部分?jǐn)?shù)據(jù)。添加代碼異味強(qiáng)度作為預(yù)測模型的預(yù)測因子時,可提高模型的精確度。圖5描述了原軟件缺陷預(yù)測模型與添加代碼異味強(qiáng)度作為預(yù)測因子后的模型,模型的各項性能數(shù)據(jù)。值得注意的是,在基本模型運行良好的情況下,獲得性能增量是相當(dāng)困難的。盡管如此,在這種情況下,使用代碼異味強(qiáng)度和加權(quán)代碼異味強(qiáng)度作為預(yù)測因子時,依然能夠提升模型的準(zhǔn)確性。

        表6 改進(jìn)模型結(jié)果

        圖5 Apache Velocity結(jié)果

        在所有分析的項目中,增加代碼異味強(qiáng)度和加權(quán)代碼異味強(qiáng)度作為缺陷預(yù)測模型的預(yù)測因子時通常會提高基礎(chǔ)缺陷預(yù)測模型的性能。

        對于Q2,在基本模型中分別添加代碼異味強(qiáng)度作為預(yù)測因子和加權(quán)代碼異味強(qiáng)度作為預(yù)測因子后,均能夠提高原預(yù)測模型的分類精確度。添加代碼異味強(qiáng)度作為預(yù)測因子模型的分類精確度可提高25%,添加加權(quán)代碼異味強(qiáng)度作為預(yù)測因子時比添加代碼異味強(qiáng)度作為預(yù)測因子時,缺陷預(yù)測模型分類精確度可提升約3%。添加加權(quán)代碼異味強(qiáng)度作為預(yù)測因子的缺陷預(yù)測模型的F-Measure比添加代碼強(qiáng)度作為預(yù)測因子的缺陷預(yù)測模型提升約2%。

        為了驗證代碼異味強(qiáng)度在預(yù)測模型中所做的貢獻(xiàn)Q3,本文采用信息增益算法來量化代碼異味強(qiáng)度作為預(yù)測因子時為預(yù)測模型提供的增益。信息增益見式(13)

        InfoGain(M,pi)=H(M)-H(M|pi)

        (13)

        式中:M為預(yù)測模型, P={p1,p2……pn} 為模型的預(yù)測因子。函數(shù)H(M)表示包含預(yù)測因子pi的模型的熵,而函數(shù)H(M|pi) 表示不包括預(yù)測因子pi的熵,見式(14)

        (14)

        圖6、圖7展示了系統(tǒng)Apache Xerces和系統(tǒng)Apache Lucene排名前十的度量的信息增益。

        圖6 Apache Xerces結(jié)果

        圖7 Apache Lucene 結(jié)果

        代碼異味強(qiáng)度和改進(jìn)公式后得到的加權(quán)代碼異味強(qiáng)度在Apache Xerces系統(tǒng)中提供的信息增益最少,分別是0.1和0.15。在系統(tǒng)Apache Lucene系統(tǒng)中,與其它度量相比,代碼異味強(qiáng)度因子和加權(quán)代碼異味強(qiáng)度因子帶來的信息增益最多,分別是0.50和0.47。在Apache Xerces項目中,基本模型的預(yù)測性能很高,獲得增益較為困難,但當(dāng)使用代碼異味強(qiáng)度作為預(yù)測因子時可帶來0.1的性能提升,而使用加權(quán)代碼異味強(qiáng)度作為預(yù)測因子時可帶來0.11的性能提升。在Apache Lucene項目中,代碼異味強(qiáng)度作為預(yù)測因子時可帶來0.47的性能提升,但用于計算代碼異味強(qiáng)度的單個度量帶來的性能提升卻比它低。使用代碼異味強(qiáng)度和加權(quán)代碼異味強(qiáng)度作為預(yù)測因子相對比其衍生的單個度量具有更高的預(yù)測能力。

        在所有研究項目中,代碼異味強(qiáng)度和加權(quán)代碼異味強(qiáng)度是模型最重要的預(yù)測因子之一。

        對于Q3,改進(jìn)公式得到的加權(quán)代碼異味強(qiáng)度提供的增益要大于代碼異味強(qiáng)度。Fontana等[14]提出的代碼異味強(qiáng)度因子將影響代碼異味的度量視為同等重要,不能精確地反映各個度量對代碼異味強(qiáng)度的影響程度。本文提出的加權(quán)代碼強(qiáng)度因子能夠區(qū)分各個度量對代碼異味強(qiáng)度的不同影響程度,測得的代碼異味強(qiáng)度的值相對更為準(zhǔn)確。綜上所述,本文提出的加權(quán)代碼異味強(qiáng)度在模型中作為預(yù)測因子時,相較于代碼異味強(qiáng)度在模型中作為預(yù)測因子時,能夠帶來更多的增益。

        4 結(jié)束語

        代碼異味強(qiáng)度可以評估代碼異味的嚴(yán)重程度。Fontana等[14]提出了一種計算代碼異味強(qiáng)度的方法,它作為缺陷預(yù)測模型的預(yù)測因子時可提高模型的性能。然而,這種代碼異味強(qiáng)度的計算方法沒有區(qū)分各個度量對代碼異味強(qiáng)度的不同影響,測得的代碼異味強(qiáng)度的精確度有待提高。本文通過對各個度量賦予相應(yīng)的權(quán)值來改善這一問題。研究發(fā)現(xiàn),改進(jìn)公式后測得的加權(quán)代碼異味強(qiáng)度更為精確。將加權(quán)代碼異味強(qiáng)度作為預(yù)測因子添加到缺陷預(yù)測模型中,與原始模型和使用未加權(quán)代碼異味的強(qiáng)度作為預(yù)測因子的模型相比,可提高缺陷預(yù)測模型的準(zhǔn)確性。加權(quán)代碼異味強(qiáng)度作為預(yù)測因子比代碼異味強(qiáng)度作為預(yù)測因子時,能夠為模型帶來更高的信息增益。

        本文為驗證規(guī)則中的度量對本文數(shù)據(jù)集的適切程度,檢驗了各個度量之間的相關(guān)性,發(fā)現(xiàn)了{(lán)CC,CM}、{FANOUT,CINT}這兩組度量呈高度相關(guān)關(guān)系,為對原始數(shù)據(jù)集進(jìn)行處理時提供了依據(jù)。JCodeOdor中所提供的檢測策略中各個度量之間并無顯著相關(guān)性,不會造成多重共線問題,符合從各個角度考慮代碼異味的思想。今后的工作包括:進(jìn)一步研究其它代碼異味的強(qiáng)度,提高加權(quán)代碼異味強(qiáng)度作為預(yù)測因子的普適性;選用開源軟件以外的軟件種類,驗證本文模型的普適性;進(jìn)一步研究其它檢測策略中的度量之間的相關(guān)性,并將其結(jié)合到代碼異味強(qiáng)度中;研究代碼異味之間的相關(guān)性與軟件缺陷傾向性之間的關(guān)系。

        猜你喜歡
        檢測模型
        一半模型
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        “幾何圖形”檢測題
        “角”檢測題
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        小波變換在PCB缺陷檢測中的應(yīng)用
        午夜免费啪视频| 亚洲综合有码中文字幕| 欧美成人精品三级在线观看| 亚洲国产精品成人久久av| 久久99国产综合精品女同| 蜜桃视频网站在线观看一区 | 亚洲人成人无码www| 中年熟妇的大黑p| 日韩亚洲制服丝袜中文字幕| 日韩精品一区二区三区免费观影| 久久麻豆精亚洲av品国产蜜臀| 日韩精品视频在线观看无| 老师露出两个奶球让我吃奶头 | 无码骚夜夜精品| 国产免费破外女真实出血视频| 国产精品一区二区久久乐下载| av天堂一区二区三区精品| 国产综合精品久久99之一| 日本牲交大片免费观看| 无码片久久久天堂中文字幕| 日本熟妇裸体视频在线| 久久久久久人妻无码| 人妻 色综合网站| 日韩区在线| 亚洲av成人久久精品| 亚洲av第一区国产精品| 亚洲熟妇无码久久精品| 国产人妻久久精品二区三区| 亚州毛色毛片免费观看| 中文字幕亚洲在线第一页| 亚洲综合av一区二区三区| 欲妇荡岳丰满少妇岳| 国产亚洲无码1024| 中文字幕av长濑麻美| 一夲道无码人妻精品一区二区| 亚洲小说图区综合在线| 精品久久人妻一区二区| 日韩女优av一区二区| av鲁丝一区鲁丝二区鲁丝三区| 国产jizzjizz视频免费看| 男女男生精精品视频网站|