請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/70193
標題: | 自動歸類與修復Java開源專案的建構錯誤 Auto-Classifying-Fixing Build Errors in Java-Based Open Source Projects |
作者: | Hong-Wun Chen 陳泓文 |
指導教授: | 李允中(Jonathan Lee) |
關鍵字: | 建構錯誤,建構修復,Gradle建構工具,開放原始碼,自動化, build error,build fixing,Gradle,open source,automation, |
出版年 : | 2020 |
學位: | 碩士 |
摘要: | 在建構Java開源專案的過程中,沒有被常時維護的建構腳本經常導致建構失敗。在Github上,超過35%的Java開源專案並沒有被適當地維護。因此,過去聚焦於修復建構錯誤的研究採取了各種方式如觀察建構腳本的修改紀錄以尋找可用的修復策略、從過去的修復紀錄中自動發掘並生成新的修復模式、以及利用搜尋結果來修補建構腳本。 本研究提出了一個在Gradle專案上的自動歸類與修復(AC-Fix)方式以減輕上述議題的效應。本研究包括了:一、藉由深入研究錯誤日誌的根本原因以提出一個歸類Gradle建構錯誤的架構;二、針對前述根本原因設計修復策略;三、經由重複地執行錯誤識別與修復策略以修復Gradle專案;四、將AC-Fix與SonarQube原始碼分析工具整合為單一資訊網應用程式。使用Ac-Fix後,Github與GitLab上的專案的建構失敗比例可分別降低至18.02%和19.86%。 In the build process of open source Java projects, build scripts without constant maintenance usually result in build failure. Over 35% open source Java projects on Github are not up to date to their maintenance. As a result, research work focusing on fixing the build failure problem runs the gamut from going through build scripts revision for findings useful for deriving fixing strategies, to mining from history fixing commit to automatically generate new fix patterns, and to patching build scripts with search-based approaches. In this work, an auto-classifying-fixing approach is proposed (called AC-Fix) to alleviate the above mentioned issue for Gradle projects, including the following: (1) proposing a classification scheme of Gradle build errors by conducting an in-depth analysis of the root causes in the error logs, (2) designing fixing strategies dealing with the root causes, (3) repairing Gradle projects by means of repeatedly conducting error classification and strategy fixing, and (4) integrating AC-Fix with SonarQube into a Web application. With AC-Fix, build failure rates are reduced to 18.02% for projects on Github and 19.86% for projects on GitLab, respectively. |
URI: | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/70193 |
DOI: | 10.6342/NTU202003828 |
全文授權: | 有償授權 |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
U0001-1708202017531700.pdf 目前未授權公開取用 | 5.17 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。