ArkTS 코드 검색을 위한 오픈소스 데이터셋

ArkTS 코드 검색을 위한 오픈소스 데이터셋
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 OpenHarmony 생태계의 핵심 언어인 ArkTS에 대한 대규모 공개 데이터셋과 코드 검색 벤치마크를 구축한다. GitHub와 Gitee에서 수집한 1,577개의 저장소를 AST 파싱하여 docstring‑function 쌍을 추출하고, 단일 검색(single‑search) 태스크를 정의한다. 기존 코드 임베딩 모델을 평가하고 ArkTS와 TypeScript 데이터를 활용해 파인튜닝한 모델이 높은 검색 성능을 보인다. 데이터와 파인튜닝 모델은 모두 HuggingFace에 공개한다.

상세 분석

이 연구는 ArkTS라는 비교적 신생 언어에 대한 연구 인프라가 부족한 상황을 정확히 짚어낸다. 먼저 데이터 수집 단계에서 저자들은 GitHub와 Gitee 두 플랫폼을 동시에 활용해 플랫폼 편향을 최소화했다. 키워드 기반 검색과 공식 OpenHarmony 탐색 페이지를 결합해 560개의 GitHub 저장소와 1,017개의 Gitee 저장소를 확보했으며, 중복 제거 과정을 거쳐 최종 1,577개의 고유 저장소를 확보했다. 이는 기존 CodeSearchNet이 주로 GitHub에 의존한 것과 대비되는 접근법이다.

AST 파싱에는 tree‑sitter‑arkts를 사용했는데, 이는 ArkTS 전용 파서가 아직 부족한 상황에서 언어 특성을 정확히 반영하는 데 큰 장점이 있다. 파서가 생성한 추상 구문 트리를 기반으로 함수·클래스 수준의 코드 단위와 연관된 docstring을 추출함으로써, 단순 정규표현식 기반 추출보다 높은 정확도와 일관성을 확보했다. 특히 ArkTS는 TypeScript에서 파생됐지만, UI 어노테이션, 분산 애플리케이션 프리미티브, 크로스‑언어 바인딩 등 고유한 구문·의미 구조를 가지고 있다. 이러한 특성을 AST 수준에서 보존함으로써, 후속 임베딩 학습이 언어 고유의 의미론적 신호를 포착하도록 설계했다.

데이터셋은 HuggingFace 호환 포맷으로 변환돼 재현성과 확장성을 크게 높였다. 평가 태스크는 CodeSearchNet 스타일의 단일 검색(single‑search)으로, 자연어 docstring을 질의로 사용해 해당 함수 코드를 검색한다. 평가 지표로는 MRR, NDCG@k, Recall@k를 채택했으며, 이는 검색 시스템의 정밀도와 순위 품질을 다각도로 측정한다.

베이스라인으로는 BM25와 여러 오픈소스 코드 임베딩 모델(예: CodeBERT, GraphCodeBERT, CodeT5 등)을 사용했으며, ArkTS 전용 데이터가 부족해 기존 모델들의 성능이 현저히 낮은 것을 확인했다. 이를 보완하기 위해 두 가지 파인튜닝 전략을 제시한다. 첫 번째는 ArkTS 데이터만을 이용한 단일 도메인 파인튜닝(ARKTS‑TRAINING)이며, 두 번째는 TypeScript 데이터(340,116 쌍)를 중간 도메인으로 활용한 두 단계 학습(TS→ARKTS‑TRAINING)이다. TypeScript와의 구조적·문법적 유사성을 활용해 사전 학습된 모델이 ArkTS 특성에 빠르게 적응하도록 설계했다.

실험 결과, TS→ARKTS 파인튜닝이 가장 높은 MRR과 Recall을 기록했으며, 특히 NDCG@10에서 기존 베이스라인 대비 15% 이상 향상되었다. 이는 언어 간 전이 학습이 ArkTS와 같은 저자원 언어에 효과적임을 실증한다. 또한 파인튜닝된 모델을 HuggingFace에 공개함으로써, 연구자와 개발자가 즉시 활용할 수 있게 했다.

이 논문의 주요 기여는 (1) ArkTS 전용 대규모 공개 데이터셋 구축, (2) 표준화된 코드 검색 벤치마크 정의, (3) 기존 모델 대비 성능이 우수한 파인튜닝 모델 제공이다. 특히 데이터 수집·전처리·평가 파이프라인을 모두 오픈소스로 제공함으로써, 향후 ArkTS 기반 자동화 도구(코드 추천, 결함 탐지, 코드 변환 등)의 연구와 실용화에 기반을 마련했다.


댓글 및 학술 토론

Loading comments...

의견 남기기