中文

ESALE:增强源代码摘要对齐学习方法

软件工程 2024-07-03 v1 人工智能

摘要

源代码摘要旨在为给定的代码片段自动生成简洁的自然语言摘要。此类摘要在促进开发人员理解和维护代码方面发挥着重要作用。受神经机器翻译的启发,基于深度学习的代码摘要技术广泛采用编码器-解码器框架,其中编码器将给定的代码片段转换为上下文向量,解码器则将上下文向量解码为摘要。最近,针对源代码的大规模预训练模型配备了能够产生通用上下文向量的编码器,并在代码摘要任务上取得了显著的改进。然而,尽管这些模型主要在代码相关任务上进行训练,能够捕获通用代码特征,但在捕获需要被摘要化的特定特征方面仍显不足。本文提出了一种基于摘要聚焦任务的改进代码摘要的方法。具体而言,我们利用多任务学习范例,在三个摘要聚焦任务上训练编码器,以增强其学习代码-摘要对齐能力,包括单向语言模型(ULM)、掩码语言模型(MLM)和动作词预测(AWP)。与主要预测代码片段中被掩码标记的预训练模型不同,我们设计ULM和MLM以预测摘要中被掩码的词汇。直观地看,基于给定的代码片段预测词汇有助于学习代码-摘要的对齐。此外,我们引入领域特定任务AWP,以增强编码器学习动作词与代码片段之间对齐能力。在四个数据集上的广泛实验表明,我们的方法称为ESALE在所有三个常用指标(包括BLEU、METEOR和ROUGE-L)上均显著优于基线方法。

关键词

引用

@article{arxiv.2407.01646,
  title  = {ESALE: Enhancing Code-Summary Alignment Learning for Source Code Summarization},
  author = {Chunrong Fang and Weisong Sun and Yuchen Chen and Xiao Chen and Zhao Wei and Quanjun Zhang and Yudu You and Bin Luo and Yang Liu and Zhenyu Chen},
  journal= {arXiv preprint arXiv:2407.01646},
  year   = {2024}
}

备注

Accepted to IEEE Transactions on Software Engineering (TSE)