DeepRelease: Language-agnostic Release Notes Generation from Pull Requests of Open-source Software

Huaxi Jiang, Jie Zhu, Li Yang, Geng Liang, Chun Zuo
{"title":"DeepRelease: Language-agnostic Release Notes Generation from Pull Requests of Open-source Software","authors":"Huaxi Jiang, Jie Zhu, Li Yang, Geng Liang, Chun Zuo","doi":"10.1109/APSEC53868.2021.00018","DOIUrl":null,"url":null,"abstract":"The release note is an essential software artifact of open-source software that documents crucial information about changes, such as new features and bug fixes. With the help of release notes, both developers and users could have a general understanding of the latest version without browsing the source code. However, it is a daunting and time-consuming job for developers to produce release notes. Although prior studies have provided some automatic approaches, they generate release notes mainly by extracting information from code changes. This will result in language-specific and not being general enough to be applicable. Therefore, helping developers produce release notes effectively remains an unsolved challenge. To address the problem, we first conduct a manual study on the release notes of 900 GitHub projects, which reveals that more than 54% of projects produce their release notes with pull requests. Based on the empirical finding, we propose a deep learning based approach named DeepRelease (Deep learning based Release notes generator) to generate release notes according to pull requests. The process of release notes generation in DeepRelease includes the change entries generation and the change category (i.e., new features or bug fixes) generation, which are formulated as a text summarization task and a multi-class classification problem, respectively. Since DeepRelease fully employs text information from pull requests to summarize changes and identify the change category, it is language-agnostic and can be used for projects in any language. We build a dataset with over 46K release notes and evaluate DeepRelease on the dataset. The experimental results indicate that DeepRelease outperforms four baselines and can generate release notes similar to those manually written ones in a fraction of the time.","PeriodicalId":143800,"journal":{"name":"2021 28th Asia-Pacific Software Engineering Conference (APSEC)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 28th Asia-Pacific Software Engineering Conference (APSEC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC53868.2021.00018","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

The release note is an essential software artifact of open-source software that documents crucial information about changes, such as new features and bug fixes. With the help of release notes, both developers and users could have a general understanding of the latest version without browsing the source code. However, it is a daunting and time-consuming job for developers to produce release notes. Although prior studies have provided some automatic approaches, they generate release notes mainly by extracting information from code changes. This will result in language-specific and not being general enough to be applicable. Therefore, helping developers produce release notes effectively remains an unsolved challenge. To address the problem, we first conduct a manual study on the release notes of 900 GitHub projects, which reveals that more than 54% of projects produce their release notes with pull requests. Based on the empirical finding, we propose a deep learning based approach named DeepRelease (Deep learning based Release notes generator) to generate release notes according to pull requests. The process of release notes generation in DeepRelease includes the change entries generation and the change category (i.e., new features or bug fixes) generation, which are formulated as a text summarization task and a multi-class classification problem, respectively. Since DeepRelease fully employs text information from pull requests to summarize changes and identify the change category, it is language-agnostic and can be used for projects in any language. We build a dataset with over 46K release notes and evaluate DeepRelease on the dataset. The experimental results indicate that DeepRelease outperforms four baselines and can generate release notes similar to those manually written ones in a fraction of the time.
DeepRelease:从开源软件的拉取请求生成与语言无关的发布说明
发行说明是开源软件必不可少的软件工件,它记录了有关更改的关键信息,例如新功能和错误修复。在发行说明的帮助下,开发人员和用户都可以在不浏览源代码的情况下对最新版本有一个大致的了解。然而,对于开发人员来说,制作发行说明是一项艰巨而耗时的工作。尽管先前的研究已经提供了一些自动的方法,但是它们主要是通过从代码变更中提取信息来生成发布说明。这将导致语言特定,而不是通用到足以适用。因此,帮助开发人员有效地制作发行说明仍然是一个未解决的挑战。为了解决这个问题,我们首先对900个GitHub项目的发布说明进行了手工研究,发现超过54%的项目使用拉请求生成发布说明。基于经验发现,我们提出了一种基于深度学习的方法DeepRelease(基于深度学习的发布说明生成器)来根据拉取请求生成发布说明。DeepRelease中的发布说明生成过程包括变更条目的生成和变更类别(即新特性或bug修复)的生成,这两个过程分别被表述为文本摘要任务和多类分类问题。由于DeepRelease完全使用来自拉取请求的文本信息来总结更改并识别更改类别,因此它与语言无关,可以用于任何语言的项目。我们建立了一个包含超过46K个发行说明的数据集,并在数据集上评估DeepRelease。实验结果表明,DeepRelease优于四个基线,并且可以在很短的时间内生成类似于手动编写的发布说明。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信