骨架引导翻译:面向代码仓库翻译的基准框架及细粒度质量评估
软件工程
2025-01-28 v1 人工智能
摘要
大型语言模型的发展加剧了现代化企业应用程序并迁移遗留系统到安全、通用语言的需求。然而,现有代码翻译基准主要关注单个函数,忽略了翻译整个代码仓库所涉及的复杂性,如保持模块间一致性和管理依赖关系。虽然一些近期的仓库级翻译基准试图解决这些问题,但仍面临可维护性差和评估粒度过粗的限制,使其对开发者不够友好。我们提出Skeleton-Guided-Translation,一个用于Java到C#代码仓库翻译的框架,采用细粒度质量评估。其采用两步流程:首先翻译代码仓库的结构"骨架”,然后在这些骨架指导下翻译完整的仓库。基于此,我们构建TRANSREPO-BENCH,一个高质量的开源Java仓库及其对应的C#骨架基准,包括匹配的单元测试和构建配置。我们的单元测试是固定的,可应用于多个或增量翻译,无需人工调整,增强了自动化和可扩展性。此外,我们开发了细粒度评估指标,在单个测试用例层面评估翻译质量,弥补了传统二元指标无法区分构建失败导致所有测试失败的问题。使用TRANSREPO-BENCH的评估揭示了关键挑战,推动了更准确的仓库级代码翻译。
引用
@article{arxiv.2501.16050,
title = {Skeleton-Guided-Translation: A Benchmarking Framework for Code Repository Translation with Fine-Grained Quality Evaluation},
author = {Xing Zhang and Jiaheng Wen and Fangkai Yang and Pu Zhao and Yu Kang and Junhao Wang and Maoquan Wang and Yufan Huang and Elsie Nallipogu and Qingwei Lin and Yingnong Dang and Saravan Rajmohan and Dongmei Zhang and Qi Zhang},
journal= {arXiv preprint arXiv:2501.16050},
year = {2025}
}