天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 科技論文 > 軟件論文 >

模塊獨(dú)立型Code Smell檢測技術(shù)研究

發(fā)布時間:2020-11-09 14:16
   在面向?qū)ο蟪绦蛟O(shè)計過程中,Code Smell是一個影響程序設(shè)計、運(yùn)行效率和維護(hù)成本的問題,是一種由于不好的設(shè)計和實現(xiàn)所帶來的癥狀。在某種情況下,Code Smell源于開發(fā)人員在一種緊急狀態(tài)下作出的行為或簡單實現(xiàn)功能需求;在另一種情況下,也可能來自于一種反復(fù)出現(xiàn)的、被稱為“反模式”的設(shè)計方案。它帶來的最大危害就是影響了程序的模塊獨(dú)立性,因此模塊獨(dú)立型Code Smell是最需要關(guān)注的。模塊獨(dú)立型Code Smell主要包括Divergent Change、Shotgun Surgery、Feature Envy三種。在開發(fā)過程中,開發(fā)人員出現(xiàn)最多的行為就是在編寫一個類的代碼時大量使用其它類的內(nèi)容,所以最為典型的、廣泛存在程序當(dāng)中的模塊獨(dú)立型Code Smell就是Feature Envy,它屬于類間Code Smell。與其它類間Code Smell不同的是,Feature Envy并不直觀,開發(fā)人員很難通過觀察找出這種Smell,往往需要通過距離度量算法計算確定這種Code Smell的存在。在距離度量算法中,主要有歐式距離、余弦距離和Jaccard距離等,考慮到實際應(yīng)用場景是檢測類和類中實體的依賴關(guān)系,抽象成集合與集合之間距離最合適,因此衡量集合與集合之間相似度的Jaccard距離最合適。但傳統(tǒng)Jaccard距離度量算法只能反應(yīng)代碼的調(diào)用與否問題,不能反映代碼運(yùn)行中的調(diào)用頻次問題,而代碼的運(yùn)行頻率不同是程序中普遍存在的問題,因此傳統(tǒng)方法存在一定的局限性。本文在集合間相似度算法Jaccard相似系數(shù)的基礎(chǔ)上,結(jié)合實體間的調(diào)用關(guān)系和頻次,提出了權(quán)值Jaccard距離度量方法,將方法、屬性與類之間的遠(yuǎn)近關(guān)系抽象成基于頻率的權(quán)值Jaccard相似度距離,通過比較各個方法或者屬性和各類之間的距離大小,確定是否存在Feature Envy,篩選出目標(biāo)候選類列表?紤]到Feature Envy的檢測要符合類的職能和上下文環(huán)境,因此,又提出結(jié)合上下文語義相似度量,通過計算余弦相似度和權(quán)值Jaccard相似度的和作為指標(biāo)判斷是否存在異味。這種做法既保證了檢測算法符合Feature Envy的定義,同時考慮到了代碼的功能職責(zé),而且也降低了尋找最后目標(biāo)類的時間復(fù)雜度。這很大程度提高了最后的檢測效果。在實驗中,利用5個Github中的開源工程作為數(shù)據(jù)集,在Eclipse環(huán)境中利用ByteParse解析數(shù)據(jù)集并收集類相關(guān)信息,據(jù)此將本文方法和傳統(tǒng)JDeodorant做對比,做到了P、R、F值三個指標(biāo)平均約15%的提高。當(dāng)然本文方法在F值的離散程度上還有欠缺,這也是以后改進(jìn)的方向。
【學(xué)位單位】:上海師范大學(xué)
【學(xué)位級別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP311.1
【部分圖文】:

代碼,示例,方法調(diào)用,參數(shù)聲明


(7)注解類型:如果 m 接受了一個注解的內(nèi)容,使用到的注解內(nèi)部的實體添加到關(guān)系集中。舉例說明,從圖3-1可知:方法foo在類Bar中,則foo的調(diào)用關(guān)系集為{Annot、R、B、Z、A、C、D、Bar}。解釋:Annot(第 7 行,注解類型);R(第 4 行,返回類型);B(第 4、5 行,參數(shù)聲明和方法調(diào)用);Z(第 4 行,用戶自定義異常);A(第 5 行,本地變量聲明,第 7、9 行屬性訪問);C(第 7 行,方法調(diào)用);D(第 7 行

示意圖,相似度,示意圖,語義相似度


上海師范大學(xué)碩士學(xué)位論義距離。這么做有兩方面好處:(1)結(jié)合兩種相似性度量從代碼和功能語義兩個方面對重構(gòu)目標(biāo)類進(jìn)行約提高了在實際工程中的準(zhǔn)確性;(2)使用兩種度量進(jìn)行約束可以大大降低目標(biāo)類的個數(shù),從而提高重構(gòu)過程效率。方法包含四個步驟,整個流程為:(1)源代碼解析,分析源代碼的組成結(jié)構(gòu),提取相關(guān)類、屬性和方法的信息[34(2)利用權(quán)值 Jaccard 相似度度量計算非語義相似度;(3)利用 TF-IDF 計算上下文語義相似度;(4)對兩種相似度進(jìn)行加權(quán)求和作為最后的相似度指標(biāo)并進(jìn)行分析。流程示意圖如圖 4-1 所示:

示意圖,代碼,示意圖,單詞


圖 4-3 計算 TF 代碼示意圖Fig. 4-3 Calculate TF code diagram通過計算文件中不同單詞的數(shù)量以及每個單詞對應(yīng)的個數(shù),使用 IDF 計算公式計算得到的值作為 value,將不同的單詞當(dāng)作 key 存放在一張 map 以健值對的形式作為返回值同時也是 IDF 的計算結(jié)果返回,返回結(jié)果在圖 4-5 中會用到,計算 IDF 值的部分代碼示意圖如圖 4-4 所示:
【相似文獻(xiàn)】

相關(guān)期刊論文 前10條

1 喬曉利;葉軍;;基于交叉熵的模糊相似度量在模式識別中的應(yīng)用[J];紹興文理學(xué)院學(xué)報(自然科學(xué)版);2008年03期

2 鄭浩森,湯胤,彭宏,鄭啟倫;范例相似度量中格的嵌入[J];計算機(jī)工程與應(yīng)用;2005年28期

3 譚國真,高文,張?zhí)镂?多邊形表示的相似度量[J];計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報;1995年02期

4 孫樹鵬;張璐;侯威;封國林;;基于非線性相似度量方法研究中國季節(jié)劃分[J];物理學(xué)報;2011年02期

5 楊成福;舒蘭;;關(guān)于集合的粗相似度量的注記[J];模糊系統(tǒng)與數(shù)學(xué);2007年05期

6 胡珂立;范恩;葉軍;沈士根;谷宇章;;基于中智加權(quán)相似度量的尺度自適應(yīng)視覺目標(biāo)跟蹤算法[J];電信科學(xué);2018年05期

7 張捷;;基于正切函數(shù)直覺模糊相似度量的多屬性決策方法[J];中國西部科技;2014年10期

8 王肖霞;楊風(fēng)暴;吉琳娜;藺素珍;史冬梅;;基于柔性相似度量和可能性歪度的尾礦壩風(fēng)險評估方法[J];上海交通大學(xué)學(xué)報;2014年10期

9 王毅;雷英杰;;基于包含度的直覺模糊相似度量方法[J];計算機(jī)工程與應(yīng)用;2008年11期

10 周寧;周曼麗;;基于時空相似度量的復(fù)雜場景背景估計[J];計算機(jī)工程與應(yīng)用;2005年34期


相關(guān)博士學(xué)位論文 前7條

1 周大鐲;多變量時間序列的聚類、相似查詢與異常檢測[D];天津大學(xué);2009年

2 梅鋒;基于核機(jī)器學(xué)習(xí)的高光譜異常目標(biāo)檢測算法研究[D];哈爾濱工程大學(xué);2009年

3 竇亞玲;基于直覺模糊集的多約束網(wǎng)絡(luò)路由決策方法研究[D];華中科技大學(xué);2010年

4 黃譽(yù);無人直升機(jī)自主著艦關(guān)鍵技術(shù)研究[D];西北工業(yè)大學(xué);2015年

5 王偉;基于Vague集理論的推薦與模糊決策相關(guān)算法研究[D];西北大學(xué);2014年

6 呂澤華;模糊集理論的新拓展及其應(yīng)用研究[D];華中科技大學(xué);2007年

7 李艷紅;信息系統(tǒng)敏捷性及其相關(guān)技術(shù)的研究[D];大連理工大學(xué);2002年


相關(guān)碩士學(xué)位論文 前10條

1 秦業(yè);模塊獨(dú)立型Code Smell檢測技術(shù)研究[D];上海師范大學(xué);2018年

2 楊東山;多情景源異構(gòu)環(huán)境用戶運(yùn)動軌跡分析[D];西安工程大學(xué);2017年

3 劉菲;基于代碼指紋的C源程序相似度評測算法研究[D];華中科技大學(xué);2016年

4 李文軒;一種中文句子相似度的計算方法[D];華中科技大學(xué);2016年

5 張敏;邊界不確定性集合的相似度量的研究[D];西安電子科技大學(xué);2006年

6 郁啟麟;面向在線微博網(wǎng)絡(luò)的相似用戶發(fā)現(xiàn)方法研究[D];中國礦業(yè)大學(xué);2017年

7 陳傳魁;機(jī)械產(chǎn)品相似性度量方法及其軟件實現(xiàn)研究[D];合肥工業(yè)大學(xué);2008年

8 張峰;基于內(nèi)容的圖像檢索技術(shù)研究[D];大連理工大學(xué);2006年

9 鮑乾;結(jié)合漢明距離及語義的文本相似度量方法研究[D];杭州電子科技大學(xué);2016年

10 何鵬;復(fù)雜機(jī)械產(chǎn)品系統(tǒng)相似性度量方法及其軟件技術(shù)研究[D];合肥工業(yè)大學(xué);2006年



本文編號:2876547

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2876547.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶cca2e***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com