[Paper] ArkTS-CodeSearch: 오픈소스 ArkTS 데이터셋, 코드 검색용

발행: (2026년 2월 5일 오후 08:15 GMT+9)
9 분 소요
원문: arXiv

Source: arXiv - 2602.05550v1

번역할 텍스트를 제공해 주시면, 요청하신 대로 한국어로 번역해 드리겠습니다.

개요

ArkTS는 OpenHarmony 생태계에서 앱을 구동하는 주요 언어이지만, 공개된 코드‑검색 데이터셋이 없었기 때문에 개발자와 연구자들이 이를 위한 지능형 도구를 구축하는 데 어려움을 겪어왔습니다. 이 논문에서는 ArkTS‑CodeSearch를 소개합니다. 이는 자연어 주석과 짝을 이룬 ArkTS 함수들의 첫 번째 대규모 오픈‑소스 컬렉션이며, 텍스트 쿼리에서 올바른 함수를 얼마나 잘 찾아낼 수 있는지를 측정하는 벤치마크도 함께 제공합니다.

주요 기여

  • 첫 번째 공개 ArkTS 데이터셋: GitHub 및 Gitee에서 수집한 20만 개 이상의 주석‑함수 쌍을 tree‑sitter‑arkts 파서를 사용해 정제함.
  • 체계적인 벤치마크 (단일‑검색 작업): 자연어 주석이 주어지면 모델이 수천 개 후보 중 올바른 ArkTS 함수를 순위 매겨야 함.
  • 새로운 벤치마크에 대한 기존 코드‑임베딩 모델들의 포괄적 평가: ArkTS에 대한 강점과 한계를 드러냄.
  • ArkTS와 TypeScript 학습 데이터를 결합한 파인‑튜닝 임베딩 모델: ArkTS 코드 검색에서 최첨단 성능을 달성함.
  • 데이터셋 및 파인‑튜닝 모델을 Hugging Face에 오픈‑소스로 공개: 재현성 및 하위 도구 개발을 지원함.

Methodology

  1. Data collection – 저자들은 GitHub와 Gitee에서 공개된 ArkTS 저장소를 크롤링했습니다. tree‑sitter‑arkts 문법을 사용해 모든 함수 정의와 그 앞에 있는 doc‑comment(자연어 설명)를 추출했습니다.
  2. Deduplication & cleaning – 크로스‑플랫폼 중복 탐지를 통해 여러 포크나 미러에 나타나는 동일한 함수를 제거했습니다. 이후 함수들을 UI, 시스템 API, 유틸리티 등으로 분류하여 코퍼스 구성을 파악했습니다.
  3. Benchmark designsingle‑search 작업은 주석을 제시하고 모델이 대규모 풀에서 일치하는 함수를 찾아내도록 합니다. 검색 품질은 Recall@k, MRR 등 표준 IR 지표로 측정합니다.
  4. Model evaluation & fine‑tuning – 기존 코드 임베딩 모델들(예: CodeBERT, GraphCodeBERT, StarCoder)을 벤치마크에 직접 적용해 평가했습니다. 이후 저자들은 ArkTS와 TypeScript를 혼합한 학습 세트로 기본 임베딩 모델을 미세조정했으며, 일치하는 주석‑함수 쌍을 임베딩 공간에서 가깝게 끌어당기는 대비 손실(contrastive loss)을 최적화했습니다.

이 파이프라인은 다른 연구자들이 새로운 언어에 대해 재현하거나 추가 저장소로 데이터셋을 확장할 수 있도록 의도적으로 단순하게 유지되었습니다.

Results & Findings

Model (pre‑trained)Recall@1Recall@5MRR
CodeBERT12.4 %31.8 %0.22
GraphCodeBERT14.1 %34.5 %0.25
StarCoder (7B)18.9 %41.2 %0.31
Fine‑tuned model (ArkTS+TS)27.6 %55.3 %0.44
  • 기존 다국어 코드 모델은 ArkTS에 대해 성능이 낮으며, 이는 사전 학습 단계에서 ArkTS를 거의 보지 못했기 때문으로 보인다.
  • TypeScript 데이터(구문적으로 유사한 언어)를 추가하면 도움이 되지만, 가장 큰 향상은 네이티브 ArkTS 주석‑함수 쌍에 대해 파인튜닝한 결과이다.
  • 오류 분석 결과 대부분의 실패는 매우 일반적인 주석(예: “컴포넌트를 초기화한다”)이나 학습 데이터에 포함되지 않은 OpenHarmony‑전용 API에 크게 의존하는 함수에서 발생한다.

Practical Implications

  • IDE assistance – 파인‑튜닝된 임베딩 모델은 OpenHarmony IDE에서 “주석‑검색” 기능을 지원할 수 있어, 개발자가 정확한 함수 이름을 기억하지 못해도 기존 구현을 찾아낼 수 있습니다.
  • Automated documentation – 문서가 없는 함수와 임베딩 공간에서 가장 가까운 주석을 매칭함으로써, 팀은 레거시 코드에 대한 doc‑string을 자동으로 생성하거나 제안할 수 있습니다.
  • Bug triage & code review – 검색 모델은 개발자가 의심스러운 코드를 표시했을 때 유사한 함수를 찾아 보여주어, 패턴 기반 디버깅을 빠르게 수행하도록 돕습니다.
  • Cross‑language tooling – 모델이 TypeScript 데이터에서도 이점을 얻기 때문에, TypeScript와 ArkTS 간 코드를 마이그레이션하는 개발자에게 관용적인 대체 코드를 제시하는 다리 역할을 할 수 있습니다.
  • Research acceleration – 공개 벤치마크가 제공됨에 따라, 커뮤니티는 실제 산업 현장에서 사용되는 언어를 대상으로 새로운 코드 이해 모델(예: LLM, 그래프 기반 인코더)을 벤치마크할 수 있게 됩니다.

제한 사항 및 향후 작업

  • Dataset bias – 코퍼스가 오픈‑소스 저장소에만 국한되어 있어 유틸리티 또는 데모 코드가 과도하게 대표되고, 독점적이거나 성능‑중요 모듈은 충분히 반영되지 않을 수 있습니다.
  • Comment quality – 모든 문서‑주석이 잘 작성된 것은 아니며, 잡음이 있거나 주석이 누락된 경우 학습 및 평가 모두에 영향을 미칠 수 있습니다.
  • Language scope – 벤치마크는 단일 검색 작업에 초점을 맞추고 있어, 코드 생성, 버그 탐지 등 다른 유용한 작업은 아직 탐구되지 않았습니다.
  • Scalability – 검색 실험은 수십만 개 함수에 대해 수행되었으며, 대규모 기업 코드베이스와 같이 수백만 개 함수로 확장하려면 추가적인 인덱싱 최적화가 필요할 수 있습니다.

향후 작업으로는 보다 다양한 저장소를 포함해 데이터셋을 확장하고, 멀티‑모달 신호(예: UI 스크린샷)를 도입하며, 실제 개발자 도구에 모델을 적용해 실세계 생산성 향상을 측정하는 것이 고려될 수 있습니다.

저자

  • Yulong He
  • Artem Ermakov
  • Sergey Kovalchuk
  • Artem Aliev
  • Dmitry Shalymov

논문 정보

  • arXiv ID: 2602.05550v1
  • 카테고리: cs.SE, cs.CL
  • 출판일: 2026년 2월 5일
  • PDF: PDF 다운로드
Back to Blog

관련 글

더 보기 »