DeepRelease:基于拉取请求的开源软件语言无关发布说明生成
软件工程
2022-01-19 v1
摘要
发布说明是开源软件的重要软件制品,记录了有关变更的关键信息,如新特性与缺陷修复。借助发布说明,开发者和用户均可在不浏览源码的情况下对最新版本有整体了解。然而,开发者编写发布说明是一项艰巨且耗时的工作。尽管已有研究提供了一些自动化方法,但它们主要通过从代码变更中提取信息来生成发布说明。这将导致语言相关且通用性不足以致难以适用。因此,协助开发者高效生成发布说明仍是一项未解挑战。为解决问题,我们首先对900个GitHub项目的发布说明开展人工研究,揭示超过54%的项目利用拉取请求生成其发布说明。基于该经验发现,我们提出一种名为DeepRelease(基于深度学习的发布说明生成器)的深度学习方法来根据拉取请求生成发布说明。DeepRelease中发布说明生成过程包括变更条目生成与变更类别(即新特性或缺陷修复)生成,分别被构建为文本摘要任务与多分类问题。由于DeepRelease充分利用拉取请求中的文本信息来概括变更并识别变更类别,其语言无关且可用于任意语言的项目。我们构建了含逾46K发布说明的数据集并在其上评估DeepRelease。实验结果表明DeepRelease优于四种基线,并能在极短时间内生成与人工撰写相近的发布说明。
引用
@article{arxiv.2201.06720,
title = {DeepRelease: Language-agnostic Release Notes Generation from Pull Requests of Open-source Software},
author = {Huaxi Jiang and Jie Zhu and Li Yang and Geng Liang and Chun Zuo},
journal= {arXiv preprint arXiv:2201.06720},
year = {2022}
}
备注
Accepted at APSEC'21