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

當(dāng)前位置:主頁(yè) > 碩博論文 > 信息類博士論文 >

面向軟件重構(gòu)的推薦方法研究

發(fā)布時(shí)間:2017-06-08 11:10

  本文關(guān)鍵詞:面向軟件重構(gòu)的推薦方法研究,由筆耕文化傳播整理發(fā)布。


【摘要】:由于需求的改變導(dǎo)致軟件在其生命周期內(nèi)不斷演化。隨著程序員不斷的增加或刪減代碼,軟件原先的設(shè)計(jì)構(gòu)架被打破,結(jié)構(gòu)變得不再清晰,代碼變得越來越難理解,軟件的擴(kuò)展和維護(hù)也變得越來越困難。軟件重構(gòu)是改善軟件質(zhì)量的一種重要手段。它在不改變軟件外部行為特性的情況下通過調(diào)整軟件內(nèi)部結(jié)構(gòu)以提高軟件的可理解性、可維護(hù)性和可擴(kuò)展性。自1992年Opdyke首次提出了軟件重構(gòu)的概念以來,軟件重構(gòu)迅速成為研究的熱點(diǎn),在工業(yè)界和學(xué)術(shù)界獲得廣泛的認(rèn)可。研究人員針對(duì)軟件重構(gòu)開展了大量的研究工作,也設(shè)計(jì)實(shí)現(xiàn)了許多重構(gòu)工具。軟件重構(gòu)是一項(xiàng)復(fù)雜的代碼調(diào)整活動(dòng),它要求程序員不斷做出各種復(fù)雜的決策。例如,在何處重構(gòu)、何時(shí)應(yīng)重構(gòu)、以及如何重構(gòu)等等。利用自動(dòng)推薦技術(shù)以降低各種復(fù)雜重構(gòu)決策的難度既是降低重構(gòu)成本提高重構(gòu)效果的一個(gè)重要途徑,也是推廣軟件重構(gòu)技術(shù)的一個(gè)重要技術(shù)基礎(chǔ)。為此,本文面向軟件重構(gòu)研究相應(yīng)的推薦方法以輔助程序員進(jìn)行重構(gòu)決策,從而降低重構(gòu)難度并提高重構(gòu)效果。本文的主要工作和貢獻(xiàn)體現(xiàn)在以下幾個(gè)方面:(1)基于代碼庫(kù)和特征匹配的函數(shù)名稱推薦重命名是最常見的軟件重構(gòu)操作之一。程序員通過重命名操作給相關(guān)的軟件實(shí)體賦予更有意義的名稱。然而如何選擇合適的名稱就需要人來決定。對(duì)于缺乏經(jīng)驗(yàn)的初學(xué)者或是母語(yǔ)并非英語(yǔ)的程序員,為函數(shù)擬定一個(gè)合適的名字并不容易。為此,本文提出一種基于代碼庫(kù)和特征匹配的函數(shù)名稱推薦方法以輔助程序員為函數(shù)確定合適的名字。首先,該方法使用詞性標(biāo)注技術(shù)對(duì)代碼庫(kù)中的函數(shù)名稱進(jìn)行解析獲取用于命名的候選詞條。然后通過特征抽取技術(shù)將函數(shù)中代表函數(shù)特征的代碼抽取出來,并在特征代碼與候選詞條之間建立關(guān)聯(lián)關(guān)系。最后,將特征代碼與待推薦函數(shù)相匹配篩選候選詞條并按照規(guī)則為程序員推薦命名方案。實(shí)驗(yàn)的結(jié)果表明本文提出的方法具有較高的推薦成功率。(2)基于測(cè)試用例變化的軟件重構(gòu)推薦方法許多初學(xué)者往往缺乏軟件重構(gòu)的經(jīng)驗(yàn),對(duì)軟件重構(gòu)工具也不熟悉,因此很少使用工具實(shí)施重構(gòu)。然而手工實(shí)施重構(gòu)耗時(shí)易錯(cuò)。如果能夠從代碼的變化中及時(shí)發(fā)現(xiàn)重構(gòu)的意圖,就能提醒或指導(dǎo)程序員使用重構(gòu)工具,進(jìn)而減少人為的錯(cuò)誤并降低軟件重構(gòu)的難度。為此,本文針對(duì)測(cè)試驅(qū)動(dòng)開發(fā)(Test-Driven Development)提出一種基于測(cè)試用例變化的軟件重構(gòu)推薦方法。該方法通過在線監(jiān)控的方式對(duì)測(cè)試代碼進(jìn)行動(dòng)態(tài)監(jiān)控,將測(cè)試代碼的變化情況與預(yù)先定義的基于重構(gòu)的測(cè)試代碼變化模式的啟發(fā)規(guī)則相匹配,從而為用戶推薦重構(gòu)。實(shí)驗(yàn)的結(jié)果表明該方法具有較高的推薦準(zhǔn)確率。(3)基于優(yōu)先級(jí)的代碼壞味處理順序推薦軟件重構(gòu)是消除代碼壞味的一種有效手段。然而軟件重構(gòu)活動(dòng)也需要耗費(fèi)一定的人力資源。因此,在資源受限條件下可能無法通過重構(gòu)消除所有的代碼壞味。此時(shí),我們應(yīng)該優(yōu)先選擇和處理那些對(duì)軟件危害較大的壞味類型才能最大限度地提高軟件的質(zhì)量。為此,本文,從代碼壞味危害發(fā)生的概率、影響范圍、是否對(duì)系統(tǒng)安全性構(gòu)成威脅、是否影響軟件的復(fù)用、是否影響軟件的可理解性等幾個(gè)方面分析了10種典型的代碼壞味。依據(jù)分析的結(jié)果劃分了代碼壞味處理的優(yōu)先級(jí),明確了每個(gè)級(jí)別的特征(如安全性威脅,影響范圍等)。通過實(shí)驗(yàn)表明,在資源受限情況下,按照本文推薦的基于優(yōu)先級(jí)的代碼壞味處理順序?qū)嵤┲貥?gòu)能夠有效的提高軟件重構(gòu)的整體效果。
【關(guān)鍵詞】:軟件重構(gòu) 代碼壞味 軟件維護(hù) 推薦方法 測(cè)試驅(qū)動(dòng) 重構(gòu)自動(dòng)化
【學(xué)位授予單位】:北京理工大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2015
【分類號(hào)】:TP391.3
【目錄】:
  • 摘要5-7
  • Abstract7-16
  • 第1章 緒論16-34
  • 1.1 軟件演化與軟件重構(gòu)16-18
  • 1.2 面向軟件重構(gòu)的推薦方法18-26
  • 1.2.1 軟件重構(gòu)機(jī)會(huì)推薦19-21
  • 1.2.2 軟件重構(gòu)順序推薦21-24
  • 1.2.3 軟件重構(gòu)方案推薦24-25
  • 1.2.4 軟件重構(gòu)推薦工具25-26
  • 1.3 其他軟件重構(gòu)技術(shù)研究現(xiàn)狀26-31
  • 1.3.1 軟件重構(gòu)驗(yàn)證26-28
  • 1.3.2 軟件重構(gòu)效果評(píng)估28-29
  • 1.3.3 軟件重構(gòu)一致性29-30
  • 1.3.4 基于圖的軟件重構(gòu)方法研究30-31
  • 1.4 尚待解決的問題31-32
  • 1.5 研究?jī)?nèi)容32-33
  • 1.6 論文組織結(jié)構(gòu)33-34
  • 第2章 基于代碼庫(kù)和特征匹配的函數(shù)名稱推薦方法34-55
  • 2.1 引言34-37
  • 2.2 名稱推薦方法37-44
  • 2.2.1 方法概述37-38
  • 2.2.2 檢索相似函數(shù)38-40
  • 2.2.3 函數(shù)名稱解析40-41
  • 2.2.4 特征代碼抽取41-43
  • 2.2.5 名稱推薦43-44
  • 2.3 實(shí)驗(yàn)驗(yàn)證44-52
  • 2.3.1 實(shí)驗(yàn)設(shè)計(jì)44-47
  • 2.3.2 實(shí)驗(yàn)過程47-48
  • 2.3.3 實(shí)驗(yàn)結(jié)果與分析48-52
  • 2.4 討論52-54
  • 2.4.1 實(shí)驗(yàn)人員52
  • 2.4.2 項(xiàng)目的選取52
  • 2.4.3 自然語(yǔ)言處理工具52-53
  • 2.4.4 特征選擇算法53
  • 2.4.5 名稱結(jié)構(gòu)53
  • 2.4.6 匹配算法53
  • 2.4.7 實(shí)驗(yàn)結(jié)果的適用性53-54
  • 2.5 小結(jié)54-55
  • 第3章 基于測(cè)試代碼變化的軟件重構(gòu)推薦方法55-70
  • 3.1 引言55-56
  • 3.2 軟件重構(gòu)推薦方法56-62
  • 3.2.1 方法概述56
  • 3.2.2 測(cè)試代碼的動(dòng)態(tài)監(jiān)控56-57
  • 3.2.3 變化分析57-58
  • 3.2.4 基于規(guī)則的匹配58-62
  • 3.3 實(shí)驗(yàn)驗(yàn)證62-67
  • 3.3.1 實(shí)驗(yàn)設(shè)計(jì)62-63
  • 3.3.2 實(shí)驗(yàn)過程63-64
  • 3.3.3 實(shí)驗(yàn)結(jié)果和分析64-67
  • 3.4 討論67-68
  • 3.4.1 實(shí)驗(yàn)人員67-68
  • 3.4.2 項(xiàng)目選取68
  • 3.4.3 實(shí)驗(yàn)結(jié)果68
  • 3.5 小結(jié)68-70
  • 第4章 基于代碼壞味優(yōu)先級(jí)的軟件重構(gòu)調(diào)度推薦方法70-90
  • 4.1 引言70-73
  • 4.2 典型代碼壞味73-76
  • 4.3 代碼壞味處理優(yōu)先級(jí)76-78
  • 4.4 實(shí)驗(yàn)驗(yàn)證78-89
  • 4.4.1 問卷調(diào)查78-80
  • 4.4.2 重構(gòu)歷史分析80-83
  • 4.4.3 重構(gòu)效果驗(yàn)證83-88
  • 4.4.4 討論88-89
  • 4.5 小結(jié)89-90
  • 第5章 軟件重構(gòu)推薦系統(tǒng)原型設(shè)計(jì)與實(shí)現(xiàn)90-97
  • 5.1 引言90
  • 5.2 需求分析90-91
  • 5.3 體系結(jié)構(gòu)91-96
  • 5.3.1 支撐體系91-92
  • 5.3.2 數(shù)據(jù)庫(kù)92
  • 5.3.3 自然語(yǔ)言處理92
  • 5.3.4 動(dòng)態(tài)檢測(cè)92-93
  • 5.3.5 搜索引擎93
  • 5.3.6 執(zhí)行引擎93
  • 5.3.7 解析器93-94
  • 5.3.8 軟件重構(gòu)推薦94
  • 5.3.9 圖形用戶界面94-96
  • 5.3.10 其他插件96
  • 5.4 小結(jié)96-97
  • 第6章 結(jié)束語(yǔ)97-101
  • 6.1 本文工作小結(jié)97-99
  • 6.2 進(jìn)一步工作設(shè)想99-101
  • 參考文獻(xiàn)101-119
  • 攻讀學(xué)位期間發(fā)表論文與研究成果清單119-120
  • 致謝120-121
  • 作者簡(jiǎn)介121

【共引文獻(xiàn)】

中國(guó)期刊全文數(shù)據(jù)庫(kù) 前3條

1 劉偉;胡志剛;劉宏韜;;基于抽象語(yǔ)法樹和多態(tài)機(jī)制的復(fù)雜條件語(yǔ)句自動(dòng)重構(gòu)研究[J];電子科技大學(xué)學(xué)報(bào);2014年05期

2 劉偉;胡志剛;劉宏韜;楊柳;;Automated pattern-directed refactoring for complex conditional statements[J];Journal of Central South University;2014年05期

3 劉偉;胡志剛;劉宏韜;;單例模式導(dǎo)向的源代碼自動(dòng)重構(gòu)研究[J];小型微型計(jì)算機(jī)系統(tǒng);2014年12期

中國(guó)博士學(xué)位論文全文數(shù)據(jù)庫(kù) 前1條

1 金濤;業(yè)務(wù)過程模型檢索與重構(gòu)[D];清華大學(xué);2012年

中國(guó)碩士學(xué)位論文全文數(shù)據(jù)庫(kù) 前4條

1 張學(xué)鵬;基于重構(gòu)的核電廠環(huán)境監(jiān)測(cè)系統(tǒng)[D];南華大學(xué);2012年

2 李霞;結(jié)合動(dòng)態(tài)測(cè)試和靜態(tài)分析的克隆代碼重構(gòu)[D];哈爾濱工業(yè)大學(xué);2013年

3 李智超;基于支持向量機(jī)的克隆代碼有害性評(píng)價(jià)方法研究[D];哈爾濱工業(yè)大學(xué);2013年

4 黃雪;面向數(shù)字礦山信息系統(tǒng)的重構(gòu)研究[D];中南大學(xué);2014年


  本文關(guān)鍵詞:面向軟件重構(gòu)的推薦方法研究,,由筆耕文化傳播整理發(fā)布。



本文編號(hào):432330

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

本文鏈接:http://sikaile.net/shoufeilunwen/xxkjbs/432330.html


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

版權(quán)申明:資料由用戶6495c***提供,本站僅收錄摘要或目錄,作者需要?jiǎng)h除請(qǐng)E-mail郵箱bigeng88@qq.com