

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、克隆代碼是執(zhí)行相同或類似功能的若干完全相同或十分相似的代碼片段,它們差別細(xì)微,分散在軟件的不同部分,手工方法難以進(jìn)行統(tǒng)一維護(hù),是程序中常見的“壞味道”代碼。軟件重構(gòu)技術(shù)在不改變程序外部行為的前提下對(duì)軟件進(jìn)行有序、規(guī)范的結(jié)構(gòu)調(diào)整和優(yōu)化,消除“壞味道”??寺〈a的自動(dòng)化識(shí)別與重構(gòu)對(duì)于改善軟件結(jié)構(gòu)和降低軟件維護(hù)成本,有著重要意義。 本文首先根據(jù)克隆代碼的分散度和覆蓋度成負(fù)相關(guān)的特性,提出了一種基于抽象語(yǔ)法樹的克隆識(shí)別方法,其主要特點(diǎn)是
2、通過(guò)構(gòu)建克隆類關(guān)系樹,識(shí)別出了任意覆蓋度上的克隆類,然后結(jié)合克隆代碼的基本特征和現(xiàn)有的重構(gòu)方法,給出了可重構(gòu)克隆代碼的基本模式,制定了相應(yīng)的重構(gòu)方案;最后實(shí)現(xiàn)了一個(gè)克隆代碼識(shí)別系統(tǒng),并對(duì)多個(gè)開源軟件代碼進(jìn)行了實(shí)驗(yàn)研究和分析。 論文的工作包括幾個(gè)方面: (1)針對(duì)抽象語(yǔ)法樹無(wú)法反映語(yǔ)法成分間次序的特點(diǎn),在構(gòu)建抽象語(yǔ)法二叉樹表示(BAST)的基礎(chǔ)上,逐條判斷各語(yǔ)句BAST子樹的同構(gòu)性,識(shí)別出相似的語(yǔ)句序列作為克隆序列:根據(jù)子
3、樹同構(gòu)識(shí)別一元克隆類,然后通過(guò)克隆類的連接操作,逐步識(shí)別多元克隆類; (2)總結(jié)出了可重構(gòu)克隆代碼的基本模式以及相關(guān)模式的判定算法,以JDK 1.5為實(shí)例,詳細(xì)分析了克隆代碼的常見形式,制定了相應(yīng)的重構(gòu)方案; (3)研究了克隆代碼自動(dòng)化識(shí)別和重構(gòu)的實(shí)現(xiàn)技術(shù),以Eclipse為平臺(tái),設(shè)計(jì)與實(shí)現(xiàn)了克隆識(shí)別器Dolly; (4)以Jhotdraw6.0、Websphinx0.5和JDK1.5等開源項(xiàng)目為實(shí)驗(yàn)對(duì)象,識(shí)別出
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無(wú)定型克隆代碼檢測(cè)及重構(gòu)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 可重構(gòu)克隆代碼的過(guò)程提取方法研究.pdf
- 針對(duì)代碼克隆的面向?qū)ο蟪绦虻闹貥?gòu)研究.pdf
- 結(jié)合動(dòng)態(tài)測(cè)試和靜態(tài)分析的克隆代碼重構(gòu).pdf
- 基于K-最近鄰的C克隆代碼重構(gòu)方法研究.pdf
- 基于抽象語(yǔ)法樹和靜態(tài)分析的克隆代碼自動(dòng)重構(gòu).pdf
- 克隆代碼可視化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 跨語(yǔ)言代碼克隆檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 克隆代碼檢索與克隆進(jìn)化分析可視化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 克隆代碼及相關(guān)缺陷檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 網(wǎng)格模型特征識(shí)別與曲面重構(gòu).pdf
- 基于逆向工程的代碼重構(gòu)與分析評(píng)估系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 惡意代碼識(shí)別的研究與實(shí)現(xiàn).pdf
- 基于序列匹配的代碼克隆分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于后綴數(shù)組的克隆代碼檢測(cè)研究.pdf
- C程序相似代碼識(shí)別方法的研究與實(shí)現(xiàn).pdf
- 基于稀疏重構(gòu)的調(diào)制樣式識(shí)別與參數(shù)估計(jì).pdf
- 偽碼信號(hào)識(shí)別重構(gòu)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于程序切片的重構(gòu)識(shí)別、實(shí)施、驗(yàn)證.pdf
- 代碼壞味檢測(cè)方法研究及重構(gòu)分析.pdf
評(píng)論
0/150
提交評(píng)論