SJTUjinmao/ArkEval
ArkEval: Benchmarking and Evaluating Automated Code Repair for ArkTS
解決的問題
ArkEval 為 ArkTS 與 OpenHarmony 專案中的程式碼自動修復提供一個標準化、可執行的基準測試。它透過將分散的真實世界問題轉化為結構化資料集,解決低資源語言缺乏評估信號的問題,使研究人員能夠比較基於大語言模型(LLM)的程式碼修復代理,並為訓練與強化學習提供反饋。
工作原理
此專案實作一個包含多個階段的完整修復流程:
- 定位:使用針對 ArkTS 的結構化分割方法,結合 Qwen3-Embedding-8B 與 Milvus,從程式碼庫中檢索候選檔案。
- 過濾與補全:修復模型選擇核心檔案並補全相依性,以定義受限的修復範圍。
- 補丁產生:模型產生統一的 Diff 補丁,可選擇性地利用 RAG 系統提供官方華為/OpenHarmony 語法與範例程式碼。
- 評估:系統透過嚴格的循環評估補丁:檢查補丁適用性、Hvigor 編譯,以及重現測試的執行,以決定
Compile@1(建構有效性)與Pass@1(行為正確性)。
適用對象
從事 LLM4Code、自動化程式碼修復(APR)的研究人員與開發者,特別是針對 ArkTS/OpenHarmony 生態系統者。
亮點
- 真實世界資料集:包含來自 9 個公開倉儲與 149 個 OpenHarmony 應用的 502 個可執行修復實例。
- 行為驗證:透過行為重現測試區分僅能編譯的補丁與真正修復 bug 的補丁。
- 嚴格測試建構:測試經過多智能體審核與專家審查,確保在 bug 上失敗、在修復後通過。
- 完整流程:包含 ArkTS 識別分割、基於嵌入的檢索,以及自動化執行評估的工具。
相關
- 專案
- 專案
- 專案
- 專案