SJTUjinmao/ArkEval
ArkEval: Benchmarking and Evaluating Automated Code Repair for ArkTS
What it solves
ArkEval provides a standardized, executable benchmark for automatically repairing code in ArkTS and OpenHarmony projects. It addresses the lack of evaluation signals for low-resource languages by transforming scattered real-world issues into a structured dataset that allows researchers to compare LLM-based code repair agents and provide feedback for training and reinforcement learning.
How it works
The project implements a full repair pipeline consisting of several stages:
- Localization: It uses ArkTS-aware structural splitting and Qwen3-Embedding-8B with Milvus to retrieve candidate files from the codebase.
- Filtering and Completion: A repair model selects core files and completes dependencies to define a constrained repair scope.
- Patch Generation: The model generates a unified Diff patch, optionally utilizing a RAG system that provides official Huawei/OpenHarmony syntax and example code.
- Evaluation: The system evaluates the patch using a strict loop: it checks for patch applicability, Hvigor compilation, and the execution of reproduction tests to determine
Compile@1(build validity) andPass@1(behavioral correctness).
Who it’s for
Researchers and developers working on LLM4Code, automated program repair (APR), and specifically those targeting the ArkTS/OpenHarmony ecosystem.
Highlights
- Real-world Dataset: Contains 502 executable repair instances from 9 public repositories and 149 OpenHarmony apps.
- Behavioral Validation: Distinguishes between a patch that merely compiles and one that actually fixes the bug via behavioral reproduction tests.
- Strict Test Construction: Tests are verified through a multi-agent audit and expert review to ensure they fail on the bug and pass on the fix.
- Comprehensive Pipeline: Includes tools for ArkTS-aware splitting, embedding-based retrieval, and automated execution evaluation.
Related
- Project
- Project
- Project
- Project