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 인식 분할, 임베딩 기반 검색, 자동 실행 평가를 포함한 도구를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트