SJTUjinmao/ArkEval

ArkEval: Benchmarking and Evaluating Automated Code Repair for ArkTS

解決的問題

ArkEval 為 ArkTS 與 OpenHarmony 專案中的程式碼自動修復提供一個標準化、可執行的基準測試。它透過將分散的真實世界問題轉化為結構化資料集,解決低資源語言缺乏評估信號的問題,使研究人員能夠比較基於大語言模型(LLM)的程式碼修復代理,並為訓練與強化學習提供反饋。

工作原理

此專案實作一個包含多個階段的完整修復流程:

  1. 定位:使用針對 ArkTS 的結構化分割方法,結合 Qwen3-Embedding-8B 與 Milvus,從程式碼庫中檢索候選檔案。
  2. 過濾與補全:修復模型選擇核心檔案並補全相依性,以定義受限的修復範圍。
  3. 補丁產生:模型產生統一的 Diff 補丁,可選擇性地利用 RAG 系統提供官方華為/OpenHarmony 語法與範例程式碼。
  4. 評估:系統透過嚴格的循環評估補丁:檢查補丁適用性、Hvigor 編譯,以及重現測試的執行,以決定 Compile@1(建構有效性)與 Pass@1(行為正確性)。

適用對象

從事 LLM4Code、自動化程式碼修復(APR)的研究人員與開發者,特別是針對 ArkTS/OpenHarmony 生態系統者。

亮點

  • 真實世界資料集:包含來自 9 個公開倉儲與 149 個 OpenHarmony 應用的 502 個可執行修復實例。
  • 行為驗證:透過行為重現測試區分僅能編譯的補丁與真正修復 bug 的補丁。
  • 嚴格測試建構:測試經過多智能體審核與專家審查,確保在 bug 上失敗、在修復後通過。
  • 完整流程:包含 ArkTS 識別分割、基於嵌入的檢索,以及自動化執行評估的工具。

相關

  • 專案
  • 專案
  • 專案
  • 專案