R2ComSync:利用上下文学习与重排序改进代码-注释同步
软件工程
2025-10-27 v1
摘要
代码-注释同步(CCS)旨在以自动化方式使注释与代码变更保持同步,从而显著减少开发人员在软件维护与演化过程中的工作量。尽管先前的研究提出了多种取得成功的解决方案,但它们往往存在局限性,例如缺乏泛化能力或需要大量特定任务的学习资源。这促使我们探索大语言模型(LLMs)在该领域的潜力。然而,一项先导分析证明 LLMs 逊色于当前最优(SOTA)的 CCS 方法,原因在于:(1)它们缺乏用于上下文学习(ICL)的有效示例;(2)许多易出错的候选结果未能被优先排序。为应对上述挑战,我们提出 R2ComSync,一种基于 ICL 并结合检索与重排序的代码-注释同步方法。具体而言,R2ComSync 包含两项创新:(1)集成式混合检索。它在检索时同时均衡考虑代码-注释语义与变更模式的相似性,从而构建具有有效示例的 ICL 提示。(2)多轮重排序策略。我们通过大规模 CCS 样本分析归纳出三条重要规则。给定 LLMs 的推理结果,它逐步利用三条重排序规则来优先排序相对易出错的候选。我们在涵盖 Java 和 Python 两种编程语言的三个 CCS 数据集上使用五种最新的 LLMs 对 R2ComSync 进行了评估,并与五种 SOTA 方法进行了比较。大量实验证明了 R2ComSync 相较于其他方法的优越性能。此外,定量与定性分析均提供了令人信服的证据,表明我们方法所同步的注释具有显著更高的质量。
引用
@article{arxiv.2510.21106,
title = {R2ComSync: Improving Code-Comment Synchronization with In-Context Learning and Reranking},
author = {Zhen Yang and Hongyi Lin and Xiao Yu and Jacky Wai Keung and Shuo Liu and Pak Yuen Patrick Chan and Yicheng Sun and Fengji Zhang},
journal= {arXiv preprint arXiv:2510.21106},
year = {2025}
}