[论文解读] ComFormer: Code Comment Generation via Transformer and Fusion Method-based Hybrid Code Representation
ComFormer 提出了一种新颖的代码注释生成模型,采用 Transformer 架构,并结合基于融合的混合代码表示方法,通过抽象语法树(AST)遍历(Sim_SBT)和 Byte-BPE 方法整合词汇和语法代码特征,实现对标识符的子词分词。该模型在大规模 Java 语料库上实现了最先进性能,在 BLEU、METEOR 和 ROUGE-L 指标上均优于七种最先进基线模型,人工评估也证实其生成的注释质量较高。
Developers often write low-quality code comments due to the lack of programming experience, which can reduce the efficiency of developers program comprehension. Therefore, developers hope that code comment generation tools can be developed to illustrate the functionality and purpose of the code. Recently, researchers mainly model this problem as the neural machine translation problem and tend to use deep learning-based methods. In this study, we propose a novel method ComFormer based on Transformer and fusion method-based hybrid code presentation. Moreover, to alleviate OOV (out-of-vocabulary) problem and speed up model training, we further utilize the Byte-BPE algorithm to split identifiers and Sim_SBT method to perform AST Traversal. We compare ComFormer with seven state-of-the-art baselines from code comment generation and neural machine translation domains. Comparison results show the competitiveness of ComFormer in terms of three performance measures. Moreover, we perform a human study to verify that ComFormer can generate high-quality comments.
研究动机与目标
- 为解决因开发人员经验不足或时间限制导致的注释质量低下或缺失问题。
- 通过自动为源代码生成准确、功能性的注释,提高程序理解效率。
- 克服现有方法的局限性,如 OOV(词汇表外)问题以及对语法结构处理不佳的问题。
- 开发一种稳健的端到端深度学习模型,有效融合词汇和语法代码表示。
- 通过自动指标和人工评估双重验证模型性能。
提出的方法
- 采用基于 Transformer 的编码器-解码器架构,实现序列到序列的代码注释生成。
- 提出一种混合代码表示方法,结合基于标记级别(词汇)和基于 AST(语法)的特征,使用 Sim_SBT 进行 AST 遍历。
- 应用 Byte-BPE 算法对标识符进行子词编码,降低训练过程中的 OOV 问题。
- 探索三种融合策略——联合编码器、共享编码器和单编码器,以整合词汇和语法表示。
- 采用单编码器融合方法,通过联合学习两种代码表示,实现最佳性能。
- 利用 Hu 等人提供的大规模高质量 Java 代码-注释数据集(485,812 对)进行训练与评估。

实验结果
研究问题
- RQ1基于 Transformer 的模型结合混合代码表示,是否能在代码注释生成任务中超越现有最先进方法?
- RQ2不同词汇与语法代码表示的融合策略如何影响模型性能?
- RQ3Byte-BPE 子词分词在多大程度上缓解了代码注释生成中的 OOV 问题?
- RQ4ComFormer 在不同代码长度上是否具备良好的泛化能力,特别是在较长方法上?
- RQ5在人工评估中,ComFormer 与基线模型相比,在注释质量与相关性方面表现如何?
主要发现
- 与七种来自代码注释生成和神经机器翻译领域的最先进基线模型相比,ComFormer 在 BLEU、METEOR 和 ROUGE-L 三项标准指标上均表现更优。
- 单编码器融合策略表现最佳,优于联合编码器和共享编码器配置。
- ComFormer 在较长代码片段(最长达 125 个标记)上仍保持强劲性能,尽管在超过此长度后性能略有下降,主要受数据稀疏性影响。
- 人工评估确认,ComFormer 生成的注释在准确性和自然度方面均优于表现最佳的基线模型 Hybrid-DeepCom。
- 通过 Byte-BPE,模型对 OOV 术语表现出强鲁棒性,显著减少了训练和推理过程中与词汇表相关的问题。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。