透過您的圖書館登入
IP:3.145.171.58
  • 學位論文

自動歸類及修復方法用於建構Java開源專案

Build Open Source Java projects with Auto-Classifying-Fixing approach

指導教授 : 李允中

摘要


自動歸類及修復方法(Auto-Classifying-Fixing approach) 是一套用於建構失敗分類及建構修復的工具,透過分析錯誤訊息來找出失敗原因,並應用不同的修復策略來逐步修復專案。這個方法目前可以修復GitHub、GitLab上使用Java的Gradle專案。 本研究主要在於擴展這套方法以支援Android專案,分析Android專案特有的錯誤訊息,並依據錯誤原因提出新的分類,同時增加新的錯誤種類至現有的分類中,接著為新的錯誤原因產生新的修復策略。我們對從GitHub及GitLab收集的4694個Android專案進行自動建構,其中有2673個專案可以成功建構,有2021個專案建構失敗。通過套用ACF至建構失敗的2021個專案,有1038個專案可以被成功修復。

並列摘要


Auto-classification-fixing (ACF) approach aims to classify types of build errors and fix the errors based on fixing strategies, which have been used for Java-based Open-source projects such as GitHub and GitLab with Gradle building tool. This research work extends ACF to support Android projects, including analyzing build errors specific to Android projects, classifying new types of build errors, defining new fixing strategies for the new types of errors. A total of 4694 Android projects from GitHub has gone through the build process, with 2673 projects being successfully built, 2021 projects failed to be built. As a result of applying ACF, 1038 out of 2021 build erros have been successfully fixed.

參考文獻


[1] Gradle build tool, [online]https://gradle.org/.
[2] H.-W. Chen.Auto-Classifying-Fixing Build Errors in Java-Based Open SourceProjects. Master’s thesis, National Taiwan University, 2020.
[3] F. Hassan and X. Wang. Hirebuild: An automatic approach to history-driven re-pair of build scripts. In2018 IEEE/ACM 40th International Conference on SoftwareEngineering (ICSE), pages 1078–1089, 2018.
[4] K.-W. Lee.Auto-Classifying-Fixing Build Errors in Python-Based Open SourceProjects. Master’s thesis, National Taiwan University, 2020.
[5] Y. Lou, J. Chen, L. Zhang, D. Hao, and L. Zhang. History-driven build failure fixing:How far are we? InProceedings of the 28th ACM SIGSOFT International Symposiumon Software Testing and Analysis, ISSTA 2019, pages 43–54, New York, NY, USA,2019. Association for Computing Machinery

延伸閱讀