• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    利用主軸因子法的嚴重性代碼異味相關性分析

    2021-04-12 10:14:22張生棟吳海濤高建華
    小型微型計算機系統(tǒng) 2021年4期
    關鍵詞:嚴重性異味代碼

    張生棟,吳海濤,高建華

    (上海師范大學 計算機科學與技術系,上海 200234)

    1 引 言

    軟件開發(fā)過程中,軟件維護的工作量和成本比起其它過程要大得多,而代碼異味的存在使得軟件的可維護性大大降低.代碼異味又稱代碼的壞味道,是開發(fā)人員在設計代碼時的不良選擇,開發(fā)人員的編程習慣、經驗不足或者是迫于在規(guī)定日期內完成項目的交付等原因都會引入代碼異味.Martin Fowler[1]定義了22種代碼異味,并詳細介紹了每一種代碼異味的重構步驟.近年來,代碼異味的研究受到重視,檢測代碼異味的方法層次不窮[2-5],并且異味的關聯(lián)從不同角度被廣泛研究.

    Palomba[6,7]等人研究發(fā)現(xiàn)社區(qū)異味和代碼異味之間存在著相關性,他們從社會和技術債務中使用混合方法經驗收斂性評估提供兩者之間存在關系的證據,并且設計了一個預測模型,使用社區(qū)異味和幾個來自最新技術的已知社區(qū)相關因素來預測代碼異味強度.Tufano[8]等人對測試異味和代碼異味的共現(xiàn)進行了實證分析,實驗結果表明,部分測試異味與代碼異味之間存在著相關性,比如Assertion Roulette(斷言輪盤賭)和Spaghetti Code(意大利面代碼).Cardoso[9]和Sousa[10]都探討了設計模式和代碼異味之間的關系,并且都發(fā)現(xiàn)設計模式的使用不能避免代碼異味的存在.

    Walter和Pietrzak[11]兩人使用了多標準的方法檢測代碼異味,其中有一條檢測的標準是:是否有其他代碼異味的存在.他們認為,一種代碼異味的存在可能意味著相關代碼異味的存在,這是由于某些代碼異味的共同起源:一個代碼錯誤會導致許多設計錯誤,并且所產生的代碼異味并不是相互獨立的.Fontana[12]等人在74個系統(tǒng)上對6種代碼異味進行實驗,深入研究了代碼異味之間的共存,他們發(fā)現(xiàn)Brain Method(大腦方法)容易與其他代碼異味共存,同時比較意外的結論是God Class和Data Class(數(shù)據類)并沒有發(fā)現(xiàn)共存現(xiàn)象.Pietrzak和Walter[13]定義分析了代碼異味之間的6種關系,并提出通過這些關系來減輕其他代碼異味的檢測工作量.Lozano和Mens[14]等人分析了3個開源系統(tǒng),報告了4種代碼異味中發(fā)現(xiàn)的5種可能關系(簡單支持、相互支持、拒絕、公共重構、包含)的證據.發(fā)現(xiàn)Feature Envy和Long Method的相關性最強.

    Abbes[15]等人首次提出了代碼異味交互的概念.他們實驗發(fā)現(xiàn)God Class(上帝類)和God Method(上帝方法)單獨存在時,對系統(tǒng)的影響不是很大,但是當他們一同存在時,對系統(tǒng)質量就會造成很大的影響.Yamashita和Moonen[16]等人根據實驗研究了12種代碼異味的交互,并分析了這些交互和維護問題之間的關系,他們使用自動檢測工具檢測代碼異味,并用主成分分析方法分析代碼異味,以識別共存的代碼異味模式.隨后Yamashita[17]等人在兩個開源系統(tǒng)和一個工業(yè)系統(tǒng)中對代碼異味之間的交互做了實驗,發(fā)現(xiàn)代碼異味之間的交互在不同的系統(tǒng)上表現(xiàn)是不一樣的.

    Garg[18]等人通過位圖(Bitmap)的方法分析了兩個系統(tǒng)的7種代碼異味的關聯(lián),通過百分比的形式比較了兩個系統(tǒng)中兩兩代碼異味共同出現(xiàn)的概率,他們發(fā)現(xiàn)每個系統(tǒng)都會出現(xiàn)代碼異味共現(xiàn)現(xiàn)象,同時他們發(fā)現(xiàn)Data Clumps、Internal Duplication(內部重復代碼)、External Duplication(外部重復代碼)比較常見.

    Palomba[19,20]等人在30個系統(tǒng)一共395個版本上,針對13種代碼異味使用關聯(lián)規(guī)則算法得到了6個共存的代碼異味對.并且發(fā)現(xiàn)代碼異味同時出現(xiàn)的現(xiàn)象非常普遍,59%的臭味類受多個代碼異味的影響.

    Walter和Fontana[21]等人采用成對相關分析、主成分分析和關聯(lián)規(guī)則3種方法,對92個java系統(tǒng)中檢測到的14種代碼異味的頻繁搭配進行了識別和實證驗證.

    本文的目標是在前人的研究基礎上,針對主成分分析在布爾變量分析中會產生難以解釋的主成分含義的弊端,賦予代碼異味嚴重性,利用因子分析進行實驗,與主成分分析比較,并解釋每個因子的含義.

    本文的主要工作如下:

    1)根據代碼異味檢測工具檢測的不一致性,對數(shù)據集進行處理,將檢測到代碼異味為真的工具占檢測該代碼異味工具的比例作為該代碼異味的嚴重性值.

    2)利用因子分析法對改進的92個系統(tǒng)的數(shù)據集上進行實驗.

    3)分析比較實驗結果,并對得到的因子進行解釋和分類命名.

    本文的結構如下:第2章介紹了本文研究的代碼異味和因子分析的相關概念;第3章研究了代碼異味的嚴重性賦值和本文用到的方法;第4章進行實驗和對實驗結果進行分析及解釋分類命名;第5章總結本文并指出將來的工作.

    2 基本概念和術語

    2.1 代碼異味

    代碼異味是程序開發(fā)領域代碼的不良設計,可能會導致深層次問題的癥狀.繼Fowler[1]定義了22種代碼異味之后,Lanza和Marinescu[22]將代碼問題大致分為3類,并新定義了幾種代碼異味.本文研究了14種代碼異味,其中有7種代碼異味由Fowler[1]定義,6種由Lanza 和Marinescu[22]定義,另外1種由Trifu和Marinescu[23]定義,表1中列出了每種代碼異味及其描述(后跟定義者).

    表1 代碼異味及其描述Table 1 Code smells and its description

    2.2 因子分析(Factor Analysis,FA)

    因子分析是多變量降維統(tǒng)計技術.它通過將緊密相關的變量歸為同一個因子,以實現(xiàn)通過少量因子就可以盡可能表達原始數(shù)據中所有變量表達的信息的目的.

    因子分析和主成分分析(Principal Components Analysis,PCA)都運用了降維的思想,因子分析的基本原理是提取對表達整個數(shù)據集信息具有最大貢獻的公共因子和不屬于公共因子但又不可忽略的特殊因子,然后兩者線性組合表示變量.而主成分分析的基本原理是將用原始變量線性組合表示主成分,且各個主成分之間獨立.因子分析是在主成分分析基礎上的擴展,相對于后者,前者對于變量之間的關系的關注更為側重.

    圖1給出了因子分析的流程圖,進行因子分析首先需要確定所要分析的變量和樣本,通過計算變量間的相關矩陣、KMO值和Bartlett′s值來檢驗能否進行實驗,驗證可以則進行因子提取,提取后的因子經過旋轉后得到易于解釋的因子.

    圖1 因子分析流程Fig.1 Process of factor analysis

    2.2.1 因子分析模型

    設有m個原始變量xi(i=1,2,…,m),它們之間可能相關,也可能獨立,將xi標準化得到新變量yi,則可以建立因子分析模型如式(1)所示:

    yi=ai1F1+ai2F2+…+ainFn+ciSi(i=1,2,…,m)

    (1)

    其中Fj(j=1,2,…,n)線性組合表示每個變量,稱為公共因子,Si(i=1,2,…,m)僅與變量yi有關,稱為特殊因子,aij為系數(shù),ci(i=1,2,…,m,j=1,2,…,n)稱為因子負荷,A=(aij)稱為因子矩陣.

    可以將式(1)表示為如式(2)所示的矩陣形式:

    y=AF+CS

    (2)

    其中,標準化后的變量y=(y1,y2,…,ym)T,因子矩陣A=(aij)m×n,公因子F=(F1,F2,…,F(xiàn)n)T,因子負荷C=diag(c1,c2,…,cm),特殊因子S=(S1,S2,…,Sm)T.

    2.2.2 指標檢驗數(shù)據

    本文采用相關矩陣、KMO值、Bartlett′s值3個指標檢驗數(shù)據集能否用來進行因子分析.相關矩陣也稱相關系數(shù)矩陣,表示了兩兩變量之間的相關程度,是表示變量之間是否存在關系的最基本最常用的指標.相關系數(shù)由變量之間的標準差和協(xié)方差計算得來,通常用r來表示,其基本公式如式(3)所示:

    (3)

    KMO(Kaiser-Meyer-Olkin)值是本文的第二個檢驗指標,由于本文研究的代碼異味之間關系屬于多變量之間的關系,僅僅考慮簡單相關系數(shù)會有很大的誤差,需要同時考慮偏相關系數(shù),KMO值便是對兩者的比較.其值是0~1區(qū)間的數(shù)值,通過比較簡單相關系數(shù)的平方和值和偏相關系數(shù)的平方和值來確定KMO值的大小.當前者比后者越大,KMO值越大,越趨近于1,同時也表明變量之間具有很強的相關性,反之則趨近于0,變量之間趨向于無相關性.0.5是區(qū)分有無相關性的標志,0.5~1區(qū)間內值越大越適合進行因子分析,0.5以下則不具備因子分析的條件.本文將0.5作為閾值,大于0.5表示可以進行因子分析.

    Bartlett′s球度檢驗以變量的相關矩陣為切入點,其作用是檢驗數(shù)據的分布,以及各個變量間的獨立情況,其顯著性概率值小于0.05時才認為數(shù)據有效,可以進行因子分析.

    2.2.3 公因子提取

    公因子提取是在復雜的變量中提取最能夠表示整個數(shù)據集信息的公因子,每個公因子充分體現(xiàn)了變量之間存在的相關關系.多種方法可以用來提取公因子,其中主成分分析法、極大似然法、最小二乘法、主軸因子法和Alpha因子分析法等是比較常用的方法.本文使用的是主軸因子法,該方法從相關矩陣出發(fā),重在解釋變量的相關性.

    2.2.4 因子旋轉

    公因子提取過程中不僅提取了公因子,而且得到了每個公因子中變量的公因子方差.此時提取的公因子并不能很好地解釋,需要進行旋轉來使得因子矩陣更加簡化,從而可以使得因子可以更直觀的被解釋,在因子旋轉的過程中,并不會影響提取的公因子的個數(shù).

    變量正交的正交旋轉和變量非正交的斜交旋轉是因子旋轉的兩種方法,其中正交旋轉有四次方最大法、最大方差法和均等變化等方法,斜交旋轉有直接斜交法和最優(yōu)斜交法等方法.本文采用的正交旋轉的最大方差法,其主要原理是通過最大化各因子負載的平方的方差來簡化矩陣.

    3 基于代碼異味嚴重性的主軸因子分析

    不同代碼異味檢測工具的檢測能力各不相同,主要是由于各個工具的檢測策略以及檢測規(guī)則閾值不同造成的,本文選用6種代碼異味檢測工具和3種方法對14種代碼異味進行檢測.

    3.1 代碼異味嚴重性定義

    本文中的代碼異味檢測采用了不同的檢測工具,對于同一個類,假設需要進行檢測某代碼異味C,設有N個檢測代碼異味C的工具分別記為T1,T2,…,TN,其中檢測結果中檢測到代碼異味C存在的工具記為Tt1,Tt2,…,Ttn,個數(shù)記為n,檢測不到代碼異味C存在的工具記為Tf1,Tf2,…,Tfm,個數(shù)則記為m,可知N=n+m.本文定義代碼異味嚴重性值如式(4)所示:

    SV=n/N

    (4)

    即檢測到代碼異味C存在的工具個數(shù)占所有檢測代碼異味C的工具個數(shù)的比值.代碼異味本身沒有明確的定量定義,也不存在一種權威的工具明確表明某類是否存在代碼異味.因此對于檢測結果不一致的情況,如果一個代碼異味同時被多數(shù)工具檢測到,可以認為這種代碼異味具有比較高的嚴重性,如果一個代碼異味僅有個別工具檢測到,可以認為該代碼異味嚴重性并不是很高,用n/N來代表其嚴重性既沒有忽略代碼異味存在的可能性,也沒有將處在閾值模糊界限上的類強行歸為布爾類型上的代碼異味.對于只有一種代碼異味工具檢測的代碼異味,本文仍然按照布爾類型處理.

    3.2 主軸因子分析

    主軸因子法提取因子的特點是從變量的相關矩陣出發(fā),提取的公因子能夠盡可能的使得其中的變量相關,并且易于解釋其中的關系和結構.而主成分分析的切入點在于變量的方差,盡量使提取到的主成分解釋變量的方差,其分析過程如圖2所示.

    圖2 主軸因子分析過程Fig.2 Process of principal axis factor analysis

    3)求出φ的估計值φ(1)=R-A1A1′;

    4)返回第一步用φ(1)代替φ,直到A的值和φ的值達到穩(wěn)定為止.

    算法1.主軸因子法提取因子算法

    輸入:數(shù)據集D

    輸出:因子矩陣

    2. forA的值和φ的值穩(wěn)定

    4.前q個大于0的特征值(λ1,λ2,…,λm)>0及特征向量E1,E2,…,Em←|R*-λI|=0//I為單位矩陣

    6. End for

    3.3 方差最大化旋轉

    4 實 驗

    本節(jié)對92個系統(tǒng)上的代碼異味進行實驗,實驗主要尋求解決以下幾個問題:

    Q1:得到的因子能否從以往的論文中找到依據?

    Q2:本文采用的主軸因子法是否比主成分分析更容易解釋變量的關系?

    Q3:改進的數(shù)據集比原始數(shù)據有什么優(yōu)勢,是否更加適合進行因子分析?

    4.1 實驗環(huán)境

    本文的實驗環(huán)境如下:操作系統(tǒng)是Windows 10,處理器是Intel(R)Core i5-4258U CPU @ 2.4GHz,內存4GB,實驗是在SPSS和PyCharm中完成,開發(fā)語言是Python.

    4.2 實驗數(shù)據集

    本文用到的數(shù)據集是由6種代碼異味自動檢測工具和3種方法對92個系統(tǒng)中的14種代碼異味進行檢測得到,表2中報告了這6種工具和3種方法能夠檢測到的代碼異味.

    表2 代碼異味檢測工具Table 2 Code smells detecting tools

    4.3 因子分析檢驗指標

    進行因子分析的首要條件就是要保證變量之間存在相關性,以保證因子分析有意義,本文通關變量之間的相關矩陣、KMO測度和Bartlett′s球度檢測進行因子分析可行性檢驗.

    4.3.1 相關矩陣

    因子分析的第一步便是計算相關矩陣,表3展示了帶嚴重性值的代碼異味的相關矩陣.

    本文采用|ρ|≥0.3作為閾值,表明至少存在弱相關性(Cohen[24],1988),正值表明兩個代碼異味之間經常一同出現(xiàn),負值則表明一種代碼異味的存在通常排除另一種代碼異味.

    有8對代碼異味滿足設定的閾值,表中數(shù)值加粗表示.其中{Extensive Coupling、Long Parameter List}、{Long Parameter List、God Class}在原始數(shù)據集中沒有出現(xiàn),表中數(shù)值下劃線加粗表示.{Long Parameter List、God Class}代碼異味對在Walter[11]中有被實驗證實;{Extensive Coupling、Long Parameter List}只在Walter[21]的實驗中出現(xiàn)過,此代碼異味對單獨出現(xiàn)在DGDV(圖表生成器/數(shù)據可視化)數(shù)據集中,被認為是一種特殊情況,而本文的實驗表明這種代碼異味對并非是一種特例.同時發(fā)現(xiàn)Extensive Coupling代碼異味與Brain Class、God Class、Shotgun Surgery以及Long Method的相關值都接近于閾值0.3,說明Extensive Coupling與其他代碼異味關系緊密,這也與Extensive Coupling的定義相吻合.

    表3 相關矩陣Table 3 Correlation matrix

    4.3.2 KMO測度和Bartlett′s球度檢測

    表4給出了KMO測度和Bartlett′s球度檢測的結果,其中KMO值為0.712,高于設定的0.5的標準;Bartlett′s球度檢測的顯著性值為0,低于0.05的標準,二者均滿足因子分析要求.

    表4 KMO和Bartlett′s檢驗Table 4 KMO and Bartlett′s test

    4.4 旋轉后的因子矩陣

    通過主軸因子法提取的因子矩陣需要通過旋轉后才使因子更加簡化和易于解釋,本文采用的旋轉方法是凱撒正態(tài)化最大方差法.表5是詳細的旋轉后的因子矩陣.

    通過旋轉后的因子分析矩陣可以看出有6個因子被提取出來,圖3展示了提取的因子.下面對每一個因子中的代碼異味進行討論和分析.

    表5 旋轉后的因子矩陣Table 5 Factor matrix after rotation

    圖3 提取的因子Fig.3 Extracted factors

    因子1.Brain Class、Long Method和God Class被歸為了因子1,Brain Class和God Class的定義很相似,都是傾向于集中系統(tǒng)功能的類,代碼異味檢測工具對他們的檢測策略都是基于大小度量的,所以檢測為Brain Class的類很大可能性上被檢測為God Class,Brain Class和God Class中的功能太過繁雜,包含了太多的方法,Long Method也會出現(xiàn)于此,從定義上看該方法也是過于繁雜,需要大量的代碼行、大量的變量和參數(shù),Brain Class和 God Class更符合其存在條件,因此Long Method通常伴隨著Brain Class和God Class的存在而存在.3個代碼異味的共同點就是代碼繁雜,囤積了太多的功能.Yamashita[17]定義這種囤積了太多功能的類為“Hoarders”,在他的分類中將Feature Envy歸為“Hoarders”,通過本實驗的結果和對Feature Envy的定義來看均不支持歸為“Hoarders”,反而Long Method更符合要求.

    因子2.Intensive Coupling、Long Parameter List、Extensive Coupling和Shotgun Surgery被歸為因子2,符合在Yamashita[17]定義的第3種關系“Wide interfaces”,其描述為如果維護任務需要在顯示這些異味的類中進行任何修改,則這些更改將導致由于功能耦合分散而產生的意外副作用.Extensive Coupling、Shotgun Surgery和Intensive Coupling根據定義可知3種代碼異味的存在主要是由于類的耦合,至于Long ParameterList可以理解為大量參數(shù)的引入導致“被調用對象”與“較大對象”間存在依賴關系,使得Long Parameter List代碼異味耦合嚴重,本文將這一因子不再定義為“Wide interfaces”,而是定義為“Coupling”.

    因子3.Feature Envy和Data Class被歸為因子3,其中Data Class顯示負負荷,并不說明Data Class與此因子無關,正負與影響的大小沒有關系,負號表示Data Class與此因子呈負相關.根據Feature Envy的定義,兩個代碼異味之間確實存在著關聯(lián),結果卻比較意外,兩者一般不會出現(xiàn)在同一個類中,標記為Feature Envy的類,一般不會再標記為Data Class,標記為Data Class的類同樣也很少會被標記為Feature Envy.這種情況很符合Pietrzak[13]等人定義的“Rejection”關系.

    因子4.Tradition Breaker和Refused Parent Bequest被歸為因子4,從這兩個代碼異味的定義上看歸為一個因子也在預料之中,兩個代碼異味都是由于子類中除了父類的方法外含有其他的方法,都屬于繼承體系設計錯誤,因此本文將這一因子命名為“Inheritance extension”.

    因子5.God Class被單獨歸為因子5,因子1中同樣存在代碼異味God Class,本文認為此代碼異味被單獨分離出來可能是由于該代碼異味出現(xiàn)頻率很高而且會使用其他類的數(shù)據,此代碼異味會與其他因子存在關聯(lián),比較明顯的是因子1相關,經過斜交實驗發(fā)現(xiàn)因子1中的God Class被去除,也證明了兩個因子存在著關聯(lián).

    因子6.Feature Envy被單獨歸為因子6,F(xiàn)eature Envy的存在幾乎貫穿了整個數(shù)據集,根據統(tǒng)計,本文數(shù)據集中70%的類中存在該代碼異味,有如此高的占比率,很大程度上是由于檢測工具將被調用的類(Data Class除外)也標記為Feature Envy,F(xiàn)eature Envy更像是滴在清水里的墨水,很容易與其他類耦合在一塊.

    表6總結了本文得出了幾種關系.同時可以先對Q1進行解答,本文得到的前4個因子都可以從過往的論文中找到依據,其中因子1、2、3的關系都有論文進行總結分類,因子4沒有總結,但是因子中變量的關系明確,因子5、6則無法找到充足的依據.

    表6 代碼異味的關系和描述Table 6 Relationship and description of code smells

    4.5 與其他方法和原始數(shù)據集的對比

    本節(jié)對主成分分析提取的因子和本文用到的方法得出的結果做了對比,同時對比了在主軸因子方法下,原始數(shù)據集與帶有嚴重性的異味數(shù)據集下的模型的好壞,并對Q2、Q3進行解答.

    針對Q2:表7展示主成分分析提取的因子,可以看出,主成分分析下的前兩個因子中變量都比主軸因子法得出的結果多.特別地,盡管都進行了因子旋轉,但是主成分提取的因子1和因子2中都存在變量Extensive Coupling,從相關矩陣可以發(fā)現(xiàn)Extensive Coupling代碼異味與因子1中其它3種代碼異味相關系數(shù)都接近0.3,但構不成弱相關,可以視為一種極弱相關,本文的方法忽略這種極弱相關,不僅可以使不同因子中的變量盡可能獨立,而且簡化了因子變量,使得因子1更易于解釋;對于因子2,主成分分析提取的因子2變量中多了Schizophrenic Class代碼異味,結合相關矩陣,發(fā)現(xiàn)Schizophrenic Class與其他異味并不存在明顯的相關關系,可以認為本文方法得到的結果更具有可靠性;對于主成分分析提取的因子5中的Brain Class和Schizophrenic Class并未在相關矩陣中找到兩者存在相關關系的證據.綜合對比表5可以看到本文用到的方法提取的因子更加簡化,忽略了一些極弱相關,變量之間的關系更容易解釋.主軸因子法比起主成分分析法的優(yōu)勢是忽略了特殊因子的影響,主成分分析得到的特殊因子各分量之間存在關聯(lián),不滿足因子分析的前提條件,從而會使因子矩陣存在偏差[25].通過觀察表7可以看到主成分分析得到的公因子方差并沒有達到很高的水平,存在很多0.3~0.8的公因子方差值,這就說明無法忽略特殊因子的影響.同時本文的目的側重于確定代碼異味關系的內在結構,主軸因子法提取公因子正是以變量的相關矩陣為出發(fā)點確定其內在關系,而非側重變量的方差,因此得到的結果結合相關矩陣來看比主成分法提取的結果更簡化且容易解釋.

    針對Q3:本文從相關矩陣代碼異味對、平均初始變量方差和平均KMO值3個方面對兩個數(shù)據集的結果進行了比較,如表8所示.

    表7 主成分提取的因子矩陣Table 7 Factor matrix of principal component extraction

    表8 數(shù)據集結果對比Table 8 Dataset results comparison

    兩個數(shù)據集的相關矩陣得出的代碼異味對都是8對,原始數(shù)據集對于Feature Envy的關系提取的更多,主要原因是Feature Envy廣泛存在于整個數(shù)據集,占比率達到了70%,沒有嚴重性值約束下,更容易將其與其他代碼異味關聯(lián).本文的數(shù)據集得出了兩對代碼異味{EC、LPL}和{LPL、GC}是原始數(shù)據集沒有得到的,其中{EC、LPL}在之前的論文中都沒有提及,唯一提及的是Walter[21]在一個特殊數(shù)據集中出現(xiàn)過這種異味對,但并沒有進行總結.

    原始有數(shù)據集的平均初始變量方差為53.63%,比本文帶有嚴重性值的數(shù)據集的60.44%少了將近7%,之所以考慮初始變量方差而不是最終的旋轉載荷方差,是因為本文用的方法出發(fā)點不在于變量方差.

    對于平均KMO值,本文數(shù)據集達到了0.718,比起原始數(shù)據集的0.693也要好了很多.

    5 結束語

    本文對帶有嚴重性值的代碼異味進行相關性分析,將檢測到代碼異味的檢測工具的比例作為代碼異味的嚴重性值,然后運用因子分析中的主軸因子提取因子的方法,對代碼異味進行相關性分析,從相關矩陣中得到了一種新的代碼異味對,同時得到6個因子,并對其進行解釋和分類,最后與主成分分析法和原始數(shù)據集的結果進行了比較,得出本文的方法可以對因子很好的解釋,數(shù)據集也更加適合因子分析.本文研究的代碼異味的相關性是以類為研究對象,沒有考慮由于耦合類之間的代碼異味的相關性,將來可以以包為研究對象,研究類之間的代碼異味的關聯(lián).

    猜你喜歡
    嚴重性異味代碼
    嚴重性
    基于4G技術的VOCs及異味檢測系統(tǒng)
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    用這些告別異味吧!夏天就要清清爽爽過!
    PIC-408系列采用育種技術控制公豬異味
    血清及滑液中CCL13的水平與膝關節(jié)骨關節(jié)炎放射學之間的關系
    細菌耐藥性的嚴重性
    美女高潮的动态| 日韩精品青青久久久久久| www.色视频.com| 一个人免费在线观看电影| 非洲黑人性xxxx精品又粗又长| 国内久久婷婷六月综合欲色啪| netflix在线观看网站| 成人毛片a级毛片在线播放| 99热网站在线观看| 一边摸一边抽搐一进一小说| 欧美另类亚洲清纯唯美| 看十八女毛片水多多多| 热99在线观看视频| 国产伦人伦偷精品视频| 久久久久性生活片| 色5月婷婷丁香| 国产极品精品免费视频能看的| 久久婷婷人人爽人人干人人爱| 嫩草影院新地址| 国产视频内射| 一个人看视频在线观看www免费| 波多野结衣高清无吗| 亚洲精品粉嫩美女一区| 三级毛片av免费| 国产色婷婷99| 在线观看av片永久免费下载| 欧美精品国产亚洲| 国产精品美女特级片免费视频播放器| 国产大屁股一区二区在线视频| 99久久九九国产精品国产免费| 美女大奶头视频| 美女xxoo啪啪120秒动态图| 精品人妻熟女av久视频| 波多野结衣巨乳人妻| 一区二区三区高清视频在线| 国国产精品蜜臀av免费| xxxwww97欧美| 韩国av一区二区三区四区| 亚洲精品亚洲一区二区| 亚洲内射少妇av| 女人十人毛片免费观看3o分钟| 琪琪午夜伦伦电影理论片6080| 欧美+亚洲+日韩+国产| 国产男靠女视频免费网站| 在线观看一区二区三区| 亚洲自偷自拍三级| 丰满乱子伦码专区| 欧美一区二区国产精品久久精品| 99九九线精品视频在线观看视频| 国产精品日韩av在线免费观看| 搞女人的毛片| 久久精品国产99精品国产亚洲性色| 亚洲av电影不卡..在线观看| 欧美高清成人免费视频www| 久久久久久久久久成人| 亚洲人成网站在线播放欧美日韩| 国产乱人视频| 久久这里只有精品中国| 国产成年人精品一区二区| 深爱激情五月婷婷| 一本久久中文字幕| 国内久久婷婷六月综合欲色啪| 亚洲性久久影院| 久久久久免费精品人妻一区二区| 网址你懂的国产日韩在线| 国产乱人伦免费视频| 国产精品久久久久久久电影| 日韩中文字幕欧美一区二区| 国产一区二区三区视频了| 国产乱人视频| 亚洲欧美日韩无卡精品| 午夜福利欧美成人| 精品一区二区免费观看| 亚洲熟妇中文字幕五十中出| 露出奶头的视频| 搡老妇女老女人老熟妇| av视频在线观看入口| 国产精品一区二区三区四区久久| 九九久久精品国产亚洲av麻豆| 国产三级中文精品| 久久精品国产自在天天线| 九九久久精品国产亚洲av麻豆| 中文字幕熟女人妻在线| 亚洲精华国产精华精| 久99久视频精品免费| 中文在线观看免费www的网站| 欧美精品啪啪一区二区三区| 香蕉av资源在线| 桃红色精品国产亚洲av| 啦啦啦韩国在线观看视频| 亚洲专区中文字幕在线| 成人午夜高清在线视频| 国产精品久久电影中文字幕| 国产精品一区二区性色av| 长腿黑丝高跟| 麻豆av噜噜一区二区三区| 国产探花极品一区二区| 国产私拍福利视频在线观看| 别揉我奶头~嗯~啊~动态视频| 亚洲av中文字字幕乱码综合| 自拍偷自拍亚洲精品老妇| 我要搜黄色片| 久久国产精品人妻蜜桃| 久久欧美精品欧美久久欧美| 欧美在线一区亚洲| 免费黄网站久久成人精品| 亚洲专区国产一区二区| 亚洲熟妇熟女久久| 特大巨黑吊av在线直播| 日本成人三级电影网站| 丰满人妻一区二区三区视频av| 午夜福利视频1000在线观看| 在线国产一区二区在线| 男女下面进入的视频免费午夜| 嫩草影院入口| 亚洲人成网站高清观看| 亚洲成人精品中文字幕电影| 午夜老司机福利剧场| 天堂网av新在线| 亚洲专区中文字幕在线| 一夜夜www| 日本在线视频免费播放| 97碰自拍视频| 一个人观看的视频www高清免费观看| 午夜久久久久精精品| 亚洲中文字幕日韩| 美女xxoo啪啪120秒动态图| 精品日产1卡2卡| 在线观看66精品国产| 国产精品一区二区三区四区久久| 性欧美人与动物交配| 国产毛片a区久久久久| 丰满的人妻完整版| 国产中年淑女户外野战色| 亚洲性久久影院| 在线观看一区二区三区| 18禁黄网站禁片午夜丰满| 韩国av一区二区三区四区| 久久精品国产自在天天线| 国产成人影院久久av| 午夜精品一区二区三区免费看| 99久久久亚洲精品蜜臀av| 亚洲无线在线观看| 日韩欧美在线二视频| 999久久久精品免费观看国产| 国产精品免费一区二区三区在线| 国产精华一区二区三区| 午夜视频国产福利| 3wmmmm亚洲av在线观看| 男人的好看免费观看在线视频| 免费人成在线观看视频色| av天堂在线播放| 99国产精品一区二区蜜桃av| 级片在线观看| 日韩,欧美,国产一区二区三区 | 亚洲国产精品合色在线| 亚洲国产精品sss在线观看| 啪啪无遮挡十八禁网站| 中文字幕av在线有码专区| 97人妻精品一区二区三区麻豆| 国产精品久久久久久av不卡| 国产精品人妻久久久久久| 色噜噜av男人的天堂激情| 日本欧美国产在线视频| 韩国av一区二区三区四区| 久久亚洲精品不卡| 国产人妻一区二区三区在| 欧美人与善性xxx| 国产高清激情床上av| 麻豆国产av国片精品| 亚洲性久久影院| 久久久久久伊人网av| 成人av在线播放网站| 内射极品少妇av片p| 久久人人精品亚洲av| 最近最新免费中文字幕在线| 国产精品不卡视频一区二区| 亚洲精品色激情综合| 热99在线观看视频| 亚洲欧美日韩高清专用| 亚洲av五月六月丁香网| 乱人视频在线观看| 又黄又爽又刺激的免费视频.| 久久精品人妻少妇| 国产成人影院久久av| 亚洲精华国产精华液的使用体验 | av在线观看视频网站免费| 久久久久久久精品吃奶| 成人精品一区二区免费| 99久久中文字幕三级久久日本| 国产真实乱freesex| 一个人看视频在线观看www免费| 国产精品免费一区二区三区在线| 亚洲精品456在线播放app | 日本撒尿小便嘘嘘汇集6| 婷婷精品国产亚洲av| 亚洲内射少妇av| 成熟少妇高潮喷水视频| 午夜福利在线在线| 禁无遮挡网站| 网址你懂的国产日韩在线| 国产一区二区激情短视频| 女的被弄到高潮叫床怎么办 | 国产成人av教育| 看黄色毛片网站| 国产真实伦视频高清在线观看 | 国产三级在线视频| 俺也久久电影网| 韩国av一区二区三区四区| 久久久久久伊人网av| 亚洲欧美激情综合另类| 国产免费一级a男人的天堂| 免费观看人在逋| 国产高清三级在线| 亚洲美女视频黄频| 麻豆av噜噜一区二区三区| 全区人妻精品视频| 久久6这里有精品| 免费观看精品视频网站| 久久久久久久久大av| xxxwww97欧美| 22中文网久久字幕| 成年人黄色毛片网站| 国产精品99久久久久久久久| 有码 亚洲区| 日本在线视频免费播放| 一级a爱片免费观看的视频| 国产精品嫩草影院av在线观看 | 成人特级av手机在线观看| 狂野欧美白嫩少妇大欣赏| 啦啦啦观看免费观看视频高清| 永久网站在线| 国产成年人精品一区二区| 日本一二三区视频观看| 精品日产1卡2卡| 黄色一级大片看看| 美女免费视频网站| or卡值多少钱| 国产成人av教育| 中文字幕高清在线视频| 国内精品美女久久久久久| 国产一区二区亚洲精品在线观看| 一级黄片播放器| 国产成人一区二区在线| 亚洲一区二区三区色噜噜| 97超级碰碰碰精品色视频在线观看| 国产精品一区二区免费欧美| 日韩人妻高清精品专区| 深爱激情五月婷婷| 亚洲av电影不卡..在线观看| 白带黄色成豆腐渣| 国产男人的电影天堂91| 久久久色成人| 成人欧美大片| 国产免费一级a男人的天堂| 国产精品人妻久久久影院| 99riav亚洲国产免费| 中出人妻视频一区二区| av福利片在线观看| 最新中文字幕久久久久| 欧美一区二区亚洲| 国内精品久久久久久久电影| 又黄又爽又刺激的免费视频.| 国产老妇女一区| 成人国产麻豆网| 日韩欧美免费精品| 99热6这里只有精品| 欧美一级a爱片免费观看看| 亚洲av二区三区四区| 色噜噜av男人的天堂激情| 嫩草影院精品99| 精品人妻熟女av久视频| 午夜视频国产福利| 午夜福利18| 欧美性猛交黑人性爽| 国产 一区 欧美 日韩| 日韩欧美精品v在线| 成人性生交大片免费视频hd| 欧美三级亚洲精品| 午夜福利在线观看吧| 欧美激情国产日韩精品一区| 日韩强制内射视频| 国产精品电影一区二区三区| 国产精品一及| 久久久久精品国产欧美久久久| 精品久久久久久,| 18禁黄网站禁片午夜丰满| 免费av不卡在线播放| 88av欧美| 久久国内精品自在自线图片| 色综合婷婷激情| 天堂动漫精品| 九色国产91popny在线| 少妇丰满av| 久久久久性生活片| 午夜福利在线在线| 亚洲人成伊人成综合网2020| 男女啪啪激烈高潮av片| 日韩亚洲欧美综合| 欧美三级亚洲精品| 给我免费播放毛片高清在线观看| 亚洲中文字幕日韩| 日本一二三区视频观看| 国产精品久久久久久久电影| 一本久久中文字幕| 夜夜看夜夜爽夜夜摸| 日韩av在线大香蕉| 欧美日韩瑟瑟在线播放| 亚洲av熟女| 尾随美女入室| 我要看日韩黄色一级片| 在线国产一区二区在线| a级毛片a级免费在线| 黄色欧美视频在线观看| 高清日韩中文字幕在线| 黄色丝袜av网址大全| 欧美bdsm另类| 人妻久久中文字幕网| 国产精品无大码| 在线看三级毛片| 国产精品综合久久久久久久免费| 能在线免费观看的黄片| 大型黄色视频在线免费观看| 熟女人妻精品中文字幕| 午夜福利高清视频| 99精品久久久久人妻精品| 日韩中文字幕欧美一区二区| 国产亚洲av嫩草精品影院| 小说图片视频综合网站| 俺也久久电影网| 欧美最新免费一区二区三区| 一边摸一边抽搐一进一小说| 亚洲中文字幕日韩| 成年人黄色毛片网站| 欧美在线一区亚洲| 久久久久久久久久成人| 一个人免费在线观看电影| 尾随美女入室| 国产黄色小视频在线观看| 中国美白少妇内射xxxbb| 亚洲无线在线观看| 欧美日本视频| 国内毛片毛片毛片毛片毛片| 国产精品亚洲美女久久久| 一区福利在线观看| av女优亚洲男人天堂| 小蜜桃在线观看免费完整版高清| 久久精品夜夜夜夜夜久久蜜豆| 久久午夜亚洲精品久久| 国产伦在线观看视频一区| 色吧在线观看| 校园春色视频在线观看| 亚洲av中文av极速乱 | 在线观看舔阴道视频| 18禁黄网站禁片免费观看直播| 嫁个100分男人电影在线观看| 亚洲国产精品合色在线| 久久国产乱子免费精品| 最近中文字幕高清免费大全6 | 国产毛片a区久久久久| 国产精品一区二区三区四区久久| 久久精品国产亚洲网站| 成人国产综合亚洲| 长腿黑丝高跟| 欧美日韩亚洲国产一区二区在线观看| 久久久久久九九精品二区国产| 亚洲精华国产精华精| 久久久久久久久中文| 亚洲一级一片aⅴ在线观看| 国产亚洲欧美98| 精品一区二区三区人妻视频| 超碰av人人做人人爽久久| 国产av麻豆久久久久久久| 国产私拍福利视频在线观看| 欧美中文日本在线观看视频| 两个人的视频大全免费| 一区二区三区免费毛片| 国产午夜精品论理片| 久久人人爽人人爽人人片va| 成人二区视频| 男女啪啪激烈高潮av片| 亚洲四区av| 黄色日韩在线| 一级毛片久久久久久久久女| 中文字幕高清在线视频| 国产私拍福利视频在线观看| 免费观看的影片在线观看| 十八禁国产超污无遮挡网站| 女同久久另类99精品国产91| 久久人人爽人人爽人人片va| 亚洲男人的天堂狠狠| 日韩人妻高清精品专区| 一个人观看的视频www高清免费观看| 国产精品野战在线观看| 少妇被粗大猛烈的视频| 给我免费播放毛片高清在线观看| 亚洲无线观看免费| 午夜福利欧美成人| 亚洲av免费高清在线观看| 99久久九九国产精品国产免费| 床上黄色一级片| 久久精品国产亚洲av天美| 精品一区二区三区人妻视频| 91在线精品国自产拍蜜月| 特大巨黑吊av在线直播| 国产乱人伦免费视频| 有码 亚洲区| 中出人妻视频一区二区| 亚洲经典国产精华液单| 免费不卡的大黄色大毛片视频在线观看 | 久久这里只有精品中国| 日本一二三区视频观看| 看黄色毛片网站| 日韩精品青青久久久久久| 亚洲五月天丁香| 亚洲欧美日韩高清在线视频| 亚洲专区中文字幕在线| 亚洲国产精品成人综合色| 久久久精品大字幕| 国产av在哪里看| 在现免费观看毛片| 成人毛片a级毛片在线播放| 在现免费观看毛片| 欧美一区二区精品小视频在线| 亚洲欧美清纯卡通| 一进一出抽搐gif免费好疼| 久久午夜亚洲精品久久| 国内精品美女久久久久久| 春色校园在线视频观看| 99久久久亚洲精品蜜臀av| 99热6这里只有精品| 亚洲av中文av极速乱 | av在线蜜桃| 热99re8久久精品国产| ponron亚洲| 男人的好看免费观看在线视频| 又紧又爽又黄一区二区| 日韩亚洲欧美综合| 最好的美女福利视频网| 内地一区二区视频在线| 美女高潮喷水抽搐中文字幕| 又黄又爽又刺激的免费视频.| 久久这里只有精品中国| 国产视频内射| 大型黄色视频在线免费观看| 美女cb高潮喷水在线观看| 国产黄片美女视频| 亚洲av日韩精品久久久久久密| 九色国产91popny在线| 日本五十路高清| 午夜精品在线福利| 看十八女毛片水多多多| 亚洲精品国产成人久久av| 十八禁国产超污无遮挡网站| 精品人妻视频免费看| 日本爱情动作片www.在线观看 | 国产av在哪里看| 极品教师在线视频| 久久婷婷人人爽人人干人人爱| 天堂网av新在线| 国产精品爽爽va在线观看网站| 中国美白少妇内射xxxbb| 欧美在线一区亚洲| 国产精品一区二区性色av| 日本撒尿小便嘘嘘汇集6| 少妇丰满av| 久久久久久久亚洲中文字幕| 久久久久久大精品| av在线亚洲专区| 在线观看美女被高潮喷水网站| 日韩在线高清观看一区二区三区 | 一级黄片播放器| ponron亚洲| 久久九九热精品免费| 黄色配什么色好看| 亚洲av一区综合| 亚洲精华国产精华液的使用体验 | 亚洲专区国产一区二区| 亚洲国产精品成人综合色| 婷婷亚洲欧美| 观看美女的网站| 午夜亚洲福利在线播放| 亚洲国产日韩欧美精品在线观看| 十八禁网站免费在线| www.www免费av| 中文在线观看免费www的网站| 国产亚洲精品久久久久久毛片| 97热精品久久久久久| 欧美日韩综合久久久久久 | 床上黄色一级片| 成人欧美大片| 99在线人妻在线中文字幕| 日日夜夜操网爽| 亚洲精品粉嫩美女一区| 中文字幕av在线有码专区| 精品午夜福利在线看| 免费在线观看日本一区| 狂野欧美激情性xxxx在线观看| 真实男女啪啪啪动态图| 少妇丰满av| 麻豆国产av国片精品| av在线蜜桃| 国产美女午夜福利| 精品人妻1区二区| 乱系列少妇在线播放| 成人国产一区最新在线观看| 国产精品嫩草影院av在线观看 | 色综合婷婷激情| 天堂动漫精品| 国产又黄又爽又无遮挡在线| 午夜福利欧美成人| 国产精品久久电影中文字幕| 男女做爰动态图高潮gif福利片| 精品99又大又爽又粗少妇毛片 | 日本黄色片子视频| 午夜福利18| 男人狂女人下面高潮的视频| 国产真实伦视频高清在线观看 | 亚洲精品成人久久久久久| 国产单亲对白刺激| 美女免费视频网站| 特大巨黑吊av在线直播| 午夜福利欧美成人| 色av中文字幕| 热99在线观看视频| 乱码一卡2卡4卡精品| 精品乱码久久久久久99久播| 国产高清三级在线| 美女高潮喷水抽搐中文字幕| 成人综合一区亚洲| 国产黄a三级三级三级人| 国产av麻豆久久久久久久| 国产一区二区在线av高清观看| 免费一级毛片在线播放高清视频| 久久久久久国产a免费观看| 国产精品电影一区二区三区| 国产精品三级大全| 免费一级毛片在线播放高清视频| 淫秽高清视频在线观看| 99精品在免费线老司机午夜| 麻豆国产97在线/欧美| 麻豆一二三区av精品| 色哟哟·www| 午夜免费男女啪啪视频观看 | 麻豆国产97在线/欧美| 少妇的逼水好多| 亚洲狠狠婷婷综合久久图片| 欧美日韩国产亚洲二区| 亚洲七黄色美女视频| 精品福利观看| 久久久久久久精品吃奶| 老熟妇乱子伦视频在线观看| 亚洲精品久久国产高清桃花| 久久精品91蜜桃| 国产亚洲精品久久久com| 色哟哟哟哟哟哟| 国内精品久久久久久久电影| 深夜a级毛片| 欧美日韩亚洲国产一区二区在线观看| 久久亚洲精品不卡| 久久国产精品人妻蜜桃| 变态另类丝袜制服| 国产综合懂色| 亚洲自偷自拍三级| 日韩大尺度精品在线看网址| 少妇的逼好多水| 欧美潮喷喷水| 亚洲精品国产成人久久av| 国产精品亚洲美女久久久| 69av精品久久久久久| 看十八女毛片水多多多| www.www免费av| 人妻夜夜爽99麻豆av| 51国产日韩欧美| 欧美又色又爽又黄视频| 一级av片app| 日韩欧美一区二区三区在线观看| 老女人水多毛片| 色综合站精品国产| netflix在线观看网站| 日日干狠狠操夜夜爽| 国语自产精品视频在线第100页| 最后的刺客免费高清国语| 日韩中文字幕欧美一区二区| av女优亚洲男人天堂| 国产男靠女视频免费网站| 欧美极品一区二区三区四区| 亚洲人成伊人成综合网2020| 又粗又爽又猛毛片免费看| 欧美3d第一页| 久久精品国产自在天天线| 国产aⅴ精品一区二区三区波| 黄片wwwwww| 99热只有精品国产| 亚洲三级黄色毛片| 日韩强制内射视频| 国产精品一区二区三区四区免费观看 | 人人妻人人澡欧美一区二区| 国产单亲对白刺激| 国产精品av视频在线免费观看| 老师上课跳d突然被开到最大视频| 国产国拍精品亚洲av在线观看| 韩国av一区二区三区四区| 夜夜爽天天搞| 欧美日韩黄片免| 一级黄片播放器| 男女下面进入的视频免费午夜| 黄色丝袜av网址大全| 久久人人爽人人爽人人片va| 中国美白少妇内射xxxbb| 一个人观看的视频www高清免费观看| 不卡一级毛片| 国产淫片久久久久久久久| 日本与韩国留学比较| 直男gayav资源|