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

當前位置:主頁 > 科技論文 > 軟件論文 >

基于代碼克隆檢測的重構模式識別

發(fā)布時間:2021-08-26 06:16
  代碼重構技術是指使用一系列重構手法,改進優(yōu)化軟件的內(nèi)部結構,降低其修改成本,增加它的可拓展性、可理解性和可維護性,同時保持軟件的功能不發(fā)生改變,這是一種在結構層次上的代碼整理技術。重構模式識別指的是對比變更前原代碼和變更后代碼以尋找符合某種重構模式的代碼段。在代碼變更中,往往包含著對老版本代碼的bug的修復、功能的添加以及重構的變更代碼,這幾種種類各異的變更代碼的混合增加了閱讀其代碼理解其內(nèi)容的難度,若能對變更代碼中重構相關的變更代碼進行自動識別,則可使重構與其他種類的變更行為相互分離,利于代碼的閱讀和理解,同時有助于研究人員了解代碼變更中的重構行為,增加研究者代碼修改經(jīng)驗,獲取諸如重構的方式、重構的動機以及重構對代碼質(zhì)量的影響等知識,有利于研究者理解軟件演化的歷程。在幾種常用的重構模式之中,有一部分在重構的過程中包含搬移代碼行這種操作,在重構實踐中,重構前后代碼行的搬移并不是簡單的一字不改的粘貼和復制,在很多情況下需要按照需求對所搬移的代碼行進行一定程度的調(diào)整,比如調(diào)整搬移代碼行中的變量名、常量名、花括號、修飾符、標識符、字符大小寫、數(shù)字、字符串,或者是添加或刪除其中的部分代碼。由于... 

【文章來源】:齊魯工業(yè)大學山東省

【文章頁數(shù)】:80 頁

【學位級別】:碩士

【文章目錄】:
摘要
ABSTRACT
第1章 緒論
    1.1 研究背景和意義
    1.2 本文的研究內(nèi)容
    1.3 文章結構
第2章 國內(nèi)外研究現(xiàn)狀
    2.1 重構和重構模式
        2.1.1 什么是重構以及重構的研究現(xiàn)狀
        2.1.2 重構的作用和缺陷
        2.1.3 什么是重構模式
    2.2 重構模式識別
    2.3 克隆代碼和代碼克隆檢測技術
        2.3.1 克隆代碼
        2.3.2 代碼克隆檢測
    2.4 本章小結
第3章 基于代碼克隆檢測的重構模式識別方法
    3.1 識別方法概述
    3.2 代碼變更塊(hunk)的獲取和拆分
        3.2.1 代碼變更塊的獲取(hunk識別模塊)
        3.2.2 代碼變更塊的分割(split模塊)
    3.3 基于代碼克隆檢測技術獲取候選hunk集(克隆檢測模塊)
    3.4 基于抽象語法樹的重構模式識別(模式識別模塊)
        3.4.1 使用抽象語法樹解析源代碼
        3.4.2 Java模型
        3.4.3 尋找抽象語法樹節(jié)點的方法
        3.4.4 從AST節(jié)點中獲取信息
        3.4.5 本文如何使用抽象語法樹完成語法分析
    3.5 與常見的重構模式識別方法的對比
    3.6 本章小結
第4章 抽取函數(shù)和內(nèi)聯(lián)函數(shù)重構模式的識別
    4.1 抽取函數(shù)(Extract Method)模式
    4.2 抽取函數(shù)模式的識別
        4.2.1 基于克隆檢測對方法的代碼搬移進行判斷
        4.2.2 對新增方法調(diào)用的判斷
        4.2.3 抽取函數(shù)算法
    4.3 數(shù)據(jù)來源
    4.4 simian參數(shù)與閾值設定
    4.5 抽取函數(shù)實驗結果和分析
    4.6 內(nèi)聯(lián)函數(shù)(Inline Method)模式
        4.6.1 基于克隆代碼檢測對函數(shù)級代碼搬移進行判斷
        4.6.2 基于抽象語法樹對函數(shù)引用情況進行判斷
        4.6.3 內(nèi)聯(lián)函數(shù)重構模式識別算法
    4.7 內(nèi)聯(lián)函數(shù)實驗結果和分析
    4.8 本章小結
第5章 替換算法重構模式的識別
    5.1 替換算法(Substitute Algorithm)模式
    5.2 替換算法模式的識別
    5.3 替換算法模式算法
    5.4 替換算法實驗結果和分析
    5.5 本章小結
第6章 函數(shù)改名、添加參數(shù)以及移除參數(shù)重構模式的識別
    6.1 函數(shù)改名(Rename Method)模式
    6.2 函數(shù)改名模式的識別
        6.2.1 基于代碼克隆檢測對行變更進行判斷
        6.2.2 使用基于文本的語法分析判定函數(shù)頭
        6.2.3 判斷原函數(shù)和修改后函數(shù)是否存在函數(shù)改名情況
        6.2.4 函數(shù)改名算法
    6.3 函數(shù)改名實驗結果
    6.4 添加參數(shù)(Add Parameter)和移除參數(shù)(Remove Parameter)模式
        6.4.1 添加參數(shù)(Add Parameter)模式
        6.4.2 移除參數(shù)(Remove Parameter)重構模式
    6.5 對添加參數(shù)和移除參數(shù)重構模式的識別
    6.6 添加參數(shù)和移除參數(shù)算法
    6.7 添加參數(shù)和移除參數(shù)實驗結果
    6.8 本章小結
第7章 抽取類重構模式的識別
    7.1 抽取類(Extract Classs)重構模式
    7.2 抽取類重構模式識別
        7.2.1 基于克隆檢測技術對部分代碼搬移進行判斷
        7.2.2 基于抽象語法樹對被轉移代碼中是否有函數(shù)進行判斷
        7.2.3 對變更后文件是否調(diào)用了轉移代碼行中的函數(shù)進行判斷
        7.2.4 抽取類識別算法
    7.3 抽取類實驗結果
    7.4 本章小結
第8章 結論
參考文獻
致謝
在學期間主要科研成果
    一、發(fā)表學術論文


【參考文獻】:
期刊論文
[1]面向Java多線程機制的軟件重構方法[J]. 張楊,柳晨光,張冬雯,鄭琨,鄭雅潔.  北京理工大學學報. 2018(11)
[2]基于版本的多重軟件重構自動檢測技術研究[J]. 鐘林輝,黃小明,薛良波,葉海濤.  江西師范大學學報(自然科學版). 2018(05)
[3]代碼審查在軟件工程實施中的重要性[J]. 井濤.  電子技術與軟件工程. 2017(21)
[4]分支語句重構算法的研究與應用[J]. 趙會群,孫雨.  計算機工程與應用. 2018(06)
[5]基于后綴樹的相似代碼檢測方法的研究[J]. 禤靜.  信息通信. 2016(10)
[6]基于JavaCC的抽象語法樹的構建與實現(xiàn)[J]. 黃松,黃玉,惠戰(zhàn)偉.  計算機工程與設計. 2016(04)
[7]函數(shù)抽取重構的自動檢測方法[J]. 劉陽,劉秋榮,劉輝.  計算機科學. 2015(12)
[8]大規(guī)模軟件系統(tǒng)日志研究綜述[J]. 廖湘科,李姍姍,董威,賈周陽,劉曉東,周書林.  軟件學報. 2016(08)
[9]長方法壞味重構選擇策略[J]. 馬飛飛,吳海濤.  計算機應用. 2014(S1)
[10]基于程序依賴圖的克隆檢測及改進[J]. 郭婧,吳軍華.  計算機工程與設計. 2012(02)

博士論文
[1]面向軟件重構的推薦方法研究[D]. 高原.北京理工大學 2015



本文編號:3363713

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

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


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

版權申明:資料由用戶a27e0***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
九九热在线视频观看最新| 国产成人精品午夜福利| 国产精品乱子伦一区二区三区| 色婷婷国产熟妇人妻露脸| 开心五月激情综合婷婷色| 国产精品制服丝袜美腿丝袜| 人妻少妇系列中文字幕| 丰满熟女少妇一区二区三区| 极品少妇一区二区三区精品视频 | 亚洲清纯一区二区三区| 日本久久中文字幕免费| 经典欧美熟女激情综合网| 日韩三级黄色大片免费观看| 国产剧情欧美日韩中文在线| 国产av一二三区在线观看| 情一色一区二区三区四| 富婆又大又白又丰满又紧又硬 | 国产又粗又硬又长又爽的剧情| 亚洲精品中文字幕欧美| 扒开腿狂躁女人爽出白浆av| 欧美精品久久一二三区| 国产黑人一区二区三区| 女厕偷窥一区二区三区在线| 日本人妻免费一区二区三区| 日韩欧美综合在线播放| 国产精品激情在线观看| 丰满人妻少妇精品一区二区三区| 亚洲三级视频在线观看免费| 欧美一区二区三区99| 日韩欧美第一页在线观看| 一本久道久久综合中文字幕| 日韩欧美三级中文字幕| 草草视频福利在线观看| 亚洲一区二区亚洲日本| 我要看日本黄色小视频| 国产一级特黄在线观看| 日韩熟妇人妻一区二区三区| 欧美同性视频免费观看| 国产一级性生活录像片| 久久天堂夜夜一本婷婷| 东北老熟妇全程露脸被内射|