[Paper] ArkTS-CodeSearch: 오픈소스 ArkTS 데이터셋, 코드 검색용
Source: arXiv - 2602.05550v1
번역할 텍스트를 제공해 주시면, 요청하신 대로 한국어로 번역해 드리겠습니다.
개요
ArkTS는 OpenHarmony 생태계에서 앱을 구동하는 주요 언어이지만, 공개된 코드‑검색 데이터셋이 없었기 때문에 개발자와 연구자들이 이를 위한 지능형 도구를 구축하는 데 어려움을 겪어왔습니다. 이 논문에서는 ArkTS‑CodeSearch를 소개합니다. 이는 자연어 주석과 짝을 이룬 ArkTS 함수들의 첫 번째 대규모 오픈‑소스 컬렉션이며, 텍스트 쿼리에서 올바른 함수를 얼마나 잘 찾아낼 수 있는지를 측정하는 벤치마크도 함께 제공합니다.
주요 기여
- 첫 번째 공개 ArkTS 데이터셋: GitHub 및 Gitee에서 수집한 20만 개 이상의 주석‑함수 쌍을
tree‑sitter‑arkts파서를 사용해 정제함. - 체계적인 벤치마크 (단일‑검색 작업): 자연어 주석이 주어지면 모델이 수천 개 후보 중 올바른 ArkTS 함수를 순위 매겨야 함.
- 새로운 벤치마크에 대한 기존 코드‑임베딩 모델들의 포괄적 평가: ArkTS에 대한 강점과 한계를 드러냄.
- ArkTS와 TypeScript 학습 데이터를 결합한 파인‑튜닝 임베딩 모델: ArkTS 코드 검색에서 최첨단 성능을 달성함.
- 데이터셋 및 파인‑튜닝 모델을 Hugging Face에 오픈‑소스로 공개: 재현성 및 하위 도구 개발을 지원함.
Methodology
- Data collection – 저자들은 GitHub와 Gitee에서 공개된 ArkTS 저장소를 크롤링했습니다.
tree‑sitter‑arkts문법을 사용해 모든 함수 정의와 그 앞에 있는 doc‑comment(자연어 설명)를 추출했습니다. - Deduplication & cleaning – 크로스‑플랫폼 중복 탐지를 통해 여러 포크나 미러에 나타나는 동일한 함수를 제거했습니다. 이후 함수들을 UI, 시스템 API, 유틸리티 등으로 분류하여 코퍼스 구성을 파악했습니다.
- Benchmark design – single‑search 작업은 주석을 제시하고 모델이 대규모 풀에서 일치하는 함수를 찾아내도록 합니다. 검색 품질은 Recall@k, MRR 등 표준 IR 지표로 측정합니다.
- Model evaluation & fine‑tuning – 기존 코드 임베딩 모델들(예: CodeBERT, GraphCodeBERT, StarCoder)을 벤치마크에 직접 적용해 평가했습니다. 이후 저자들은 ArkTS와 TypeScript를 혼합한 학습 세트로 기본 임베딩 모델을 미세조정했으며, 일치하는 주석‑함수 쌍을 임베딩 공간에서 가깝게 끌어당기는 대비 손실(contrastive loss)을 최적화했습니다.
이 파이프라인은 다른 연구자들이 새로운 언어에 대해 재현하거나 추가 저장소로 데이터셋을 확장할 수 있도록 의도적으로 단순하게 유지되었습니다.
Results & Findings
| Model (pre‑trained) | Recall@1 | Recall@5 | MRR |
|---|---|---|---|
| CodeBERT | 12.4 % | 31.8 % | 0.22 |
| GraphCodeBERT | 14.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 다운로드