Please use this identifier to cite or link to this item:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/89841
Title: | ACFix: 應用Transformer模型於Java開源專案的自動化分類建構錯誤與修復 ACFix: Applying Transformer Models for Automatic Build Errors Classification and Repair of Java-Based Open Source Projects |
Authors: | 黎光晏 Guang-Yan Li |
Advisor: | 李允中 Jonathan Lee |
Keyword: | 建構錯誤,建構修復,開放原始碼,機器學習, build error,build fixing,Gradle,open source,deep learning model, |
Publication Year : | 2023 |
Degree: | 碩士 |
Abstract: | 在使用開源的 Java 專案時,常常會遇到建構失敗的情況,這給開發者帶來許多困擾。因此,自動分析造成這些錯誤的原因並尋找自動修復的方法是很有幫助的。而想達成此目標,通常會使用一些人為定義好的規則來分析專案的錯誤。而在我們的研究中,使用了以 BERT 和 Big Bird 兩個大型預訓練語言模型為基底的兩個模型,來產生修復策略。為了收集研究數據,我們從 GitHub 收集了兩組開源 Gradle Java 專案組,分別包含了 4739 個和 11483 個專案。並利用了一個自動化建構系統: Gradle ACFix,來產生建構錯誤訊息以及對應的修復策略。該兩組模型在進行訓練、驗證後,其準確率均可以達到 95% 以上。 When working on open-source Java projects, it's common to run into build failures, which can be challenging to handle. That's why it's helpful to analyze the reasons behind these errors and find ways to automatically fix them. Usually, this involves using rule-based methods to examine projects. In our work, we took advantage of two large pretrained language models - BERT and Big Bird. These models helped us give failed projects a strategy to fix issues in Gradle Java projects. We built upon the foundation of Gradle ACFix, an automated building system, to explore the potential of using machine learning to identify fixing strategies for projects. To gather data for our research, we collected two project sets of open source Gradle Java projects from GitHub, amounting to 4739 and 11493 projects. When testing our models with the error logs from these projects, both of our models can achieve accuracy of over 95\% for both datasets. |
URI: | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/89841 |
DOI: | 10.6342/NTU202302998 |
Fulltext Rights: | 未授權 |
Appears in Collections: | 資訊工程學系 |
Files in This Item:
File | Size | Format | |
---|---|---|---|
ntu-111-2.pdf Restricted Access | 2.86 MB | Adobe PDF |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.