HatCUP:基于混合分析与注意力的即时注释更新
软件工程
2022-05-03 v1
摘要
在修改代码时,开发者有时会忽略更新相关注释,从而产生不一致或过时的注释。这些注释增加了程序理解成本并大幅降低软件可维护性。研究者已提出若干方案,如 CUP 与 HEBCUP,可针对简单代码改动(即单个 token 的修改)高效更新注释,但对复杂改动效果不足。本文提出一种名为 HatCUP(Hybrid Analysis and Attention based Comment UPdater,基于混合分析与注意力的注释更新器)的方法,为注释更新任务提供新机制。HatCUP 关注混合分析与信息。首先,HatCUP 考虑代码结构变更信息,并引入结构引导注意力机制,结合代码变更图分析与乐观数据流依赖分析。基于广为流行的 RNN 编码器-解码器架构,HatCUP 以代码编辑动作、语法、语义与结构代码变更及旧注释为输入,生成当前代码片段变更的结构化表示。此外,HatCUP 不直接生成新注释,而是提出一种新的编辑或非编辑机制以模拟人类编辑行为,通过生成编辑动作序列并构建改进的 RNN 模型来整合新开发组件。在流行数据集上的评估表明,HatCUP 相较最先进的基于深度学习方法(CUP)在准确率上提升 53.8%、召回率上提升 31.3%、原指标 METEOR 上提升 14.3%。与基于启发式的方法(HEBCUP)相比,HatCUP 也展现出更优的综合性能。
引用
@article{arxiv.2205.00600,
title = {HatCUP: Hybrid Analysis and Attention based Just-In-Time Comment Updating},
author = {Hongquan Zhu and Xincheng He and Lei Xu},
journal= {arXiv preprint arXiv:2205.00600},
year = {2022}
}
备注
to be published in ICPC 2022