基于軟件倉庫的源代碼演化分析.pdf_第1頁
已閱讀1頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、源代碼演化分析是軟件開發(fā)與運維中版本升級的重要任務,其對代碼級別變更控制的指導意義使它成為經驗軟件工程研究熱點之一。本文基于軟件倉庫挖掘技術研究源代碼演化規(guī)律,將源代碼文件之間關聯(lián)關系、文件與開發(fā)人員之間關聯(lián)關系以及開發(fā)人員的版次提交結合在一起,分析源代碼版次變更對后續(xù)開發(fā)的范圍、時間以及開發(fā)人員的影響,找出其中規(guī)律并進行預測,以幫助軟件演化計劃的制定和軟件開發(fā)過程的改進。
  本文結合源代碼演化分析的特征,首先提出了基于軟件倉庫

2、的源代碼演化分析方法。其具體由六個步驟構成:選定數(shù)據(jù)源,抽取樣本數(shù)據(jù);初步分析,確定分析指標;數(shù)據(jù)抽取;數(shù)據(jù)預處理;核心分析步驟和數(shù)據(jù)可視化處理。接著,從以下三個維度研究提出源代碼演化分析模型:①變更在范圍上的影響分析。結合源代碼靜態(tài)關聯(lián)關系分析和源代碼協(xié)同變更分析,提出了通過分析源代碼復合關聯(lián)關系,結合PageRank計算網(wǎng)絡節(jié)點權重的算法,對源代碼變更在范圍上的影響程度進行描述。②變更在時間上的影響分析。結合源代碼復合關聯(lián)關系,通過

3、版次曲線和版次條形碼輔助分析源代碼演化在時間上的分布情況。③變更對開發(fā)人員的影響分析。在源代碼復合關聯(lián)關系中加入開發(fā)人員節(jié)點,強調開發(fā)人員對源代碼文件的擁有程度,生成新的復合關聯(lián)關系,進行源代碼變更執(zhí)行者演化規(guī)律的分析。
  本文設計與實現(xiàn)了源代碼演化自動分析工具SEAT,支持上述分析方法和分析模型,并選取GitHub上的8個開源項目進行案例研究,發(fā)現(xiàn)了一些有價值的規(guī)律:源代碼變更會在復合關聯(lián)關系圖中進行傳播,傳播的趨勢是從Pag

4、eRank值高的節(jié)點向PageRank值低的節(jié)點。版次的變更規(guī)模越大,其對項目造成的擾動也就越大,使得項目需要更長的時間去恢復,從而導致了在時間分布上,變更規(guī)模大的版次前后出現(xiàn)Cool-Down Period的概率會高于正常版次。在需要進行代碼變更時,源代碼文件的主要擁有者會被優(yōu)先考慮分配任務。在開源項目中,核心開發(fā)人員的行為對項目總體起到了決定性的影響,非核心開發(fā)人員的開發(fā)行為穩(wěn)定性相比核心開發(fā)人員的開發(fā)行為穩(wěn)定性弱,這也導致了行為規(guī)

溫馨提示

  • 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

提交評論