[Paper] ArkTS-CodeSearch:开源 ArkTS 数据集用于代码检索
Source: arXiv - 2602.05550v1
(请提供需要翻译的具体文本内容。)
概述
ArkTS 是 OpenHarmony 生态系统中驱动应用的主要语言,但开发者和研究人员一直难以为其构建智能工具,因为没有公开的代码搜索数据集。本文介绍了 ArkTS‑CodeSearch,这是首个大规模、开源的 ArkTS 函数与自然语言注释配对集合,并提供了一个基准,用于衡量模型从文本查询中检索正确函数的能力。
关键贡献
- 首个公开的 ArkTS 数据集:> 200 k 注释‑函数对,收集自 GitHub 和 Gitee,使用自定义
tree‑sitter‑arkts解析器进行清洗。 - 系统化基准(单检索任务):给定自然语言注释,模型必须在成千上万的候选中对正确的 ArkTS 函数进行排序。
- 对现有代码嵌入模型的全面评估,在新基准上展示它们在 ArkTS 上的优势与不足。
- 微调的嵌入模型,结合 ArkTS 与 TypeScript 训练数据,实现 ArkTS 代码检索的最新水平性能。
- 开源发布 数据集和微调模型至 Hugging Face,促进可复现性和下游工具构建。
方法论
- 数据收集 – 作者从 GitHub 和 Gitee 爬取了公开的 ArkTS 仓库。使用
tree‑sitter‑arkts语法,他们提取了每个函数定义以及其前面的文档注释(自然语言描述)。 - 去重与清洗 – 跨平台重复检测去除了在多个分支或镜像中出现的相同函数。随后对函数进行分类(例如 UI、系统 API、工具类),以了解语料库的组成。
- 基准设计 – single‑search 任务给出一段注释,要求模型从大型函数库中检索匹配的函数。检索质量使用标准信息检索指标,如 Recall@k 和 MRR,进行评估。
- 模型评估与微调 – 直接在基准上评估了现成的代码嵌入模型(如 CodeBERT、GraphCodeBERT、StarCoder)。随后,作者在混合的 ArkTS 与 TypeScript 训练集上微调了基础嵌入模型,优化对比损失,使匹配的注释‑函数对在嵌入空间中靠近。
该流水线故意保持简洁,以便其他研究者能够复现它用于新语言,或通过添加更多仓库来扩展数据集。
结果与发现
| 模型(预训练) | 召回率@1 | 召回率@5 | MRR |
|---|---|---|---|
| CodeBERT | 12.4 % | 31.8 % | 0.22 |
| GraphCodeBERT | 14.1 % | 34.5 % | 0.25 |
| StarCoder (7B) | 18.9 % | 41.2 % | 0.31 |
| 微调模型(ArkTS+TS) | 27.6 % | 55.3 % | 0.44 |
- 现有的多语言代码模型在 ArkTS 上表现不佳,可能是因为在预训练期间很少见到 ArkTS。
- 添加 TypeScript 数据(语法上相近的语言)有所帮助,但最大的提升来自对 原生 ArkTS 注释‑函数对进行微调。
- 错误分析显示,大多数失败出现在高度通用的注释(“初始化组件”)或严重依赖未在训练集覆盖的 OpenHarmony‑特定 API 的函数上。
Practical Implications
- IDE assistance – 微调后的嵌入模型可以为 OpenHarmony IDE 提供“按注释搜索”功能,让开发者无需记住确切的函数名即可定位已有实现。
- Automated documentation – 通过在嵌入空间中将未文档化的函数匹配到最近的注释,团队可以自动生成或建议遗留代码的文档字符串。
- Bug triage & code review – 检索模型能够在开发者标记可疑代码片段时,展示相似函数,帮助快速进行基于模式的调试。
- Cross‑language tooling – 由于模型同样受益于 TypeScript 数据,它可以成为在 TypeScript 与 ArkTS 之间迁移代码的桥梁,提供惯用等价实现的建议。
- Research acceleration – 有了公开的基准,社区现在可以在真实的、面向行业的语言上,对新代码理解模型(如 LLM、图结构编码器)进行基准测试。
限制与未来工作
- Dataset bias – 语料库仅限于开源仓库,这可能导致实用工具或演示代码被过度代表,而专有的、性能关键的模块被低估。
- Comment quality – 并非所有文档注释都写得好;噪声或缺失的注释会影响训练和评估。
- Language scope – 基准测试聚焦于单一检索任务;其他有用的任务(例如代码生成、错误检测)仍未探索。
- Scalability – 检索实验在几十万函数上进行;若扩展到数百万函数(如大型企业代码库),可能需要额外的索引优化。
Future work could expand the dataset with more diverse repositories, incorporate multi‑modal signals (e.g., UI screenshots), and evaluate the model in downstream developer tools to measure real‑world productivity gains.
未来工作可以通过更丰富的仓库扩展数据集,加入多模态信号(例如 UI 截图),并在下游开发者工具中评估模型,以衡量真实世界的生产力提升。
作者
- Yulong He
- Artem Ermakov
- Sergey Kovalchuk
- Artem Aliev
- Dmitry Shalymov
论文信息
- arXiv ID: 2602.05550v1
- 分类: cs.SE, cs.CL
- 出版日期: 2026年2月5日
- PDF: 下载 PDF