Code maintenance data sets typically consist of a before and after version of the code that contains the improvement or fix. Such data sets are important for software engineering support tools related to code maintenance, such as program repair, code recommender systems, or Application Programming Interface (API) misuse detection. Most of the current data sets are constructed from mining commit history in version-control systems or issues in issue-tracking systems. In this paper, we investigate whether Stack Overflow can be used as an additional data source. Comments on Stack Overflow provide an effective way for developers to point out problems with existing answers, alternative solutions, or pitfalls. In this paper, we mine comment-edit pairs from Stack Overflow and investigate their potential usefulness. These pairs have the added benefit of having concrete descriptions of why the change is needed as well as potentially having less tangled changes to deal with. We first design a technique to extract related comment-edit pairs and then investigate the nature of these pairs. We find that the majority of comment-edit pairs are not tangled, but only 27% of the studied pairs are potentially useful for the above applications. We categorize the types of mined pairs and find that the highest ratio of useful pairs come from categories Correction, Obsolete, Flaw, and Extension. To demonstrate the effectiveness of our extracted pairs, we submitted 15 pull requests on GitHub, 10 of which have been accepted to widely used repositories such as Apache Beam and nltk. Our work is the first to investigate Stack Overflow comment-edit pairs and opens the door for future work in this direction. Based on our findings and observations, we provide concrete suggestions on how to potentially identify a larger set of useful comment-edit pairs, which can also be facilitated by our shared data.


翻译:代码维护数据集通常由包含改进或修正的代码的版本前后版本组成。 这些数据集对于与代码维护有关的软件工程支持工具非常重要, 如程序维修、代码建议系统或应用程序程序开发接口(API) 的滥用检测。 当前的数据集大多是来自采矿的构建, 将历史保存在版本控制系统中或问题跟踪系统中。 在本文中, 我们调查Stack Overflow 是否可以用作额外的数据源。 Stack Overplow 的注释为开发者提供了一个有效的方法, 以指出现有答案、 替代解决方案或陷阱的问题。 在本文中, 我们从 Stack Overproform 系统或应用程序的应用程序中, 我们的批注编辑配对( comple- comporation) 来做批注, 只有27%的批注编辑配对, 并调查它们的潜在有用性。 我们的批注中, 10个批量的批量的批注和折中, 我们的批注和折叠的批示( ) 将在未来的批注中, 我们的批列的批注和折中, 的批列了10个批次的批次的批注, 我们的批次的批次的批次的批次的批次的批次的批次的批注, 我们的批量的批量的批量的批量的批量的批量的批量的批量的批示。

0
下载
关闭预览

相关内容

Stack Overflow 是一个程序设计领域的问答网站,隶属于 Stack Exchange 网络。
【IJCAI2020】TransOMCS: 从语言图谱到常识图谱
专知会员服务
34+阅读 · 2020年5月4日
开源书:PyTorch深度学习起步
专知会员服务
49+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
已删除
将门创投
3+阅读 · 2019年10月18日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
LibRec 精选:CCF TPCI 的推荐系统专刊征稿
LibRec智能推荐
4+阅读 · 2019年1月12日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
【论文】图上的表示学习综述
机器学习研究会
12+阅读 · 2017年9月24日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
0+阅读 · 2021年3月18日
Arxiv
0+阅读 · 2021年3月18日
Arxiv
0+阅读 · 2021年3月17日
Arxiv
8+阅读 · 2018年2月23日
VIP会员
相关VIP内容
【IJCAI2020】TransOMCS: 从语言图谱到常识图谱
专知会员服务
34+阅读 · 2020年5月4日
开源书:PyTorch深度学习起步
专知会员服务
49+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
相关资讯
已删除
将门创投
3+阅读 · 2019年10月18日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
LibRec 精选:CCF TPCI 的推荐系统专刊征稿
LibRec智能推荐
4+阅读 · 2019年1月12日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:推荐系统的论文与源码
LibRec智能推荐
14+阅读 · 2018年11月29日
【论文】图上的表示学习综述
机器学习研究会
12+阅读 · 2017年9月24日
【推荐】RNN/LSTM时序预测
机器学习研究会
25+阅读 · 2017年9月8日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员