結合動態(tài)測試和靜態(tài)分析的克隆代碼重構.pdf_第1頁
已閱讀1頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、克隆代碼的檢測和重構是提高軟件的可靠性和質量的重要方法。相對于語法相似的克隆代碼而言,功能等價的克隆代碼和結構語義相似的克隆代碼是較為復雜的克隆代碼類型,目前對這兩種類型的克隆代碼的檢測和重構的研究還比較少?,F(xiàn)有的功能等價的克隆代碼的檢測方法存在時間復雜度比較高的問題。而對功能等價的克隆代碼的重構和結構語義相似的克隆代碼的重構研究尚未見到文獻報道。
  針對上述問題,本文進行了以下研究:首先,針對目前功能等價克隆代碼的檢測中存在的

2、問題,設計了基于靜態(tài)分析的功能等價的克隆候選代碼的提取算法。首先根據(jù)從K-最近鄰聚類算法所提取的內聚度高、功能獨立的代碼片段中提取出參數(shù)信息,然后根據(jù)輸入/輸出參數(shù)的數(shù)目和類型信息逐步過濾和劃分得到克隆候選代碼集合,并將該集合作為功能等價克隆檢測部分的動態(tài)測試的輸入。其次,針對功能等價的克隆代碼的重構問題,提出了兩種優(yōu)選標準,根據(jù)優(yōu)選標準選出優(yōu)選函數(shù),將靜態(tài)分析和動態(tài)測試相結合以確定優(yōu)選函數(shù)與非優(yōu)選函數(shù)之間的參數(shù)的對應關系,進行過程替換

3、后得到重構程序。最后,針對結構語義相似的克隆代碼的重構問題,提出了表達式和控制結構的語句的標準化規(guī)則。根據(jù)標準化規(guī)則實現(xiàn)標準化轉換后,對程序代碼進行克隆檢測,并根據(jù)檢測的輸出結果確定差異代碼。根據(jù)差異代碼進行差異性分析,在此過程中需要根據(jù)度量閾值確定程序是否適合重構,然后對適合重構的程序進行可變性提取,對不適合重構的程序給出建議。
  本文使用學生所提交的C語言小程序和開源程序對以上三個部分的研究內容進行了實驗。基于靜態(tài)分析的功能

溫馨提示

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

評論

0/150

提交評論