SJTUjinmao/ArkEval

ArkEval: Benchmarking and Evaluating Automated Code Repair for ArkTS

何を解決するか

ArkEval は、ArkTS および OpenHarmony プロジェクトのコード自動修復のための標準化された実行可能ベンチマークを提供します。低リソース言語に対する評価信号の不足に対処し、散在する現実世界の問題を構造化されたデータセットに変換することで、LLMベースのコード修復エージェントの比較や、トレーニングおよび強化学習のフィードバックを可能にします。

仕組み

このプロジェクトは、以下の複数ステージからなる完全な修復パイプラインを実装しています。

  1. 局所化: ArkTSに特化した構造的分割と Qwen3-Embedding-8B および Milvus を使用して、コードベースから候補ファイルを検索します。
  2. フィルタリングと補完: 修復モデルが主要ファイルを選択し、依存関係を補完して制約付きの修復範囲を定義します。
  3. パッチ生成: モデルは統一された Diff パッチを生成し、必要に応じて、公式の Huawei/OpenHarmony の構文や例題コードを提供する RAG システムを利用できます。
  4. 評価: システムは厳格なループを使用してパッチを評価します。パッチ適用可能性、Hvigor コンパイル、再現テストの実行をチェックし、Compile@1(ビルドの有効性)と Pass@1(動作的正しさ)を判定します。

対象ユーザー

LLM4Code、自動プログラム修復(APR)に取り組んでおり、特に ArkTS/OpenHarmony エコシステムをターゲットにしている研究者や開発者。

特徴

  • 現実世界のデータセット: 9つの公開リポジトリおよび149の OpenHarmony アプリから得られた 502 個の実行可能な修復インスタンスを含む。
  • 動作検証: パッチが単にコンパイルされるだけか、実際にバグを修正するかを、動作再現テストで区別する。
  • 厳格なテスト構築: テストはマルチエージェント監査と専門家レビューを通じて検証され、バグでは失敗し、修正では成功するように保証されている。
  • 包括的なパイプライン: ArkTSに特化した分割、埋め込みベースの検索、自動実行評価を含むツールを備える。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト