基于復(fù)制粘貼操作的克隆代碼一致性維護需求預(yù)測方法.pdf_第1頁
已閱讀1頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、克隆代碼普遍存在于軟件系統(tǒng)中,它們可以加快開發(fā)速度,但同時也會引起一系列問題。當(dāng)修改源代碼涉及到某個克隆片段時,為確??寺〈a間的一致性,需要查找系統(tǒng)中所有與之構(gòu)成克隆代碼的克隆片段,逐一分析并確定它們是否需要做相應(yīng)修改,這增加了軟件維護的代價,而且忘記修改可能會引發(fā)軟件缺陷。實證研究表明系統(tǒng)中的克隆代碼只有一小部分在未來修改中需要一致性維護,因此為確保小部分克隆代碼的一致性,每次修改克隆片段都查找并分析所有與之構(gòu)成克隆的片段是不值得的

2、。
  針對上述問題,本文提出了基于復(fù)制粘貼操作的克隆代碼一致性維護需求預(yù)測方法。開發(fā)過程中,當(dāng)開發(fā)人員執(zhí)行復(fù)制粘貼操作且產(chǎn)生克隆代碼時,預(yù)測其未來是否需要一致性維護并及時給出警告,從而避免可能引起軟件維護困難的克隆代碼產(chǎn)生。本文主要完成了以下工作,首先,使用Nicad克隆檢測工具進行多版本軟件克隆代碼的檢測,處理檢測結(jié)果構(gòu)建多版本系統(tǒng)中克隆代碼的克隆家系。然后,使用機器學(xué)習(xí)算法構(gòu)建克隆代碼一致性維護需求預(yù)測模型,為構(gòu)建預(yù)測模型,

3、本文提取表征克隆代碼片段的代碼特征和上下文特征。最后,設(shè)計并實現(xiàn)了一個針對Java語言系統(tǒng)的Eclipse插件,將本文提出的預(yù)測方法以插件的形式體現(xiàn),實現(xiàn)一個完整的預(yù)防性克隆代碼維護方法。
  本文選擇四個具有不同代碼規(guī)模、不同應(yīng)用領(lǐng)域的、Java語言開發(fā)的開源軟件系統(tǒng)進行克隆代碼一致性維護預(yù)測方法的評價實驗。實驗結(jié)果表明本文提出的預(yù)測方法具有較高的準(zhǔn)確率和召回率。在實際開發(fā)中,該方法對開發(fā)人員是否執(zhí)行復(fù)制粘貼操作有一定的參考價值

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論