返回
MOCA: A Hierarchical Semantic-Enhanced Code Edit Framework for Multilingual Code Co-Evolution
DOI:10.1145/3849703.png)
摘要
En 中文
多语言代码协同演化旨在跨编程语言传播代码编辑同时保持功能一致性,但在实际代码库中仍具挑战性。我们的实例分析揭示了两大关键挑战:(1) 现有模型无法推断源代码编辑的动机,可能导致目标代码中遗漏或误识别对应编辑;(2) 模型未能捕捉代码库级语义(如API使用和跨文件依赖),而这些对正确适配至关重要。为解决这些局限,我们提出MOCA,一个层次化语义增强框架,实现了两种互补策略:(1) 编辑级意图解释,明确每个源编辑的意图并指导其跨语言映射;(2) 项目级上下文整合,注入代码库级语义以确保传播的编辑符合项目约束。MOCA通过四个协同步骤实现这些策略:Summarizer提供多视角的源编辑解释,Locator识别目标代码中的对应编辑区域,Retriever提供并筛选代码库上下文,Modifier整合所有推理信号以合成最终编辑。在八个真实Java–C#项目的实验表明,MOCA在未见项目( \(S_{proj}\) )和时间分割已见项目( \(S_{time}\) )设置下均取得显著提升,达到 \(S_{proj}\) 下的C#→Java/Java→C#精确匹配率73.06%/71.84%及 \(S_{time}\) 下的85.99%/79.36%。与基于微调的最优方法Codeditor相比,MOCA将精确匹配率提升11.69–32.04%;与基于提示工程的基础模型相比,在 \(S_{proj}\) 下提升5.10–6.54%,在 \(S_{time}\) 下提升5.63–5.81%。消融实验验证了所有设计模块的贡献,泛化实验显示MOCA始终优于各模型的最佳提示基线3.56–15.63%。定性分析进一步表明MOCA能处理更广泛的多元块(multi-hunk)和语义复杂编辑。总体而言,MOCA通过联合强化编辑级语义和项目级锚定,为多语言代码协同演化提供了实用范式。
期刊
A
IF:
6.2
论文数:
1.2K
被引数:
3.4K
机构
引用论文
暂无论文信息

