Intrinsic bugs are bugs for which a bug introducing change can be identified in the version control system of a software. In contrast, extrinsic bugs are caused by external changes to a software, such as errors in external APIs; thereby they do not have an explicit bug introducing change in the version control system. Although most previous research literature has assumed that all bugs are of intrinsic nature, in a previous study, we show that not all bugs are intrinsic. This paper shows an example of how considering extrinsic bugs can affect software engineering research. Specifically, we study the impact of extrinsic bugs in Just In Time bug prediction by partially replicating a recent study by McIntosh and Kamei on JIT models. These models are trained using properties of earlier bug-introducing changes. Since extrinsic bugs do not have bug introducing changes in the version control system, we manually curate McIntosh and Kamei's dataset to distinguish between intrinsic and extrinsic bugs. Then, we address their original research questions, this time removing extrinsic bugs, to study whether bug-introducing changes are a moving target in Just-In-Time bug prediction. Finally, we study whether characteristics of intrinsic and extrinsic bugs are different. Our results show that intrinsic and extrinsic bugs are of different nature. When removing extrinsic bugs the performance is different up to 16 % Area Under the Curve points. This indicates that our JIT models obtain a more accurate representation of the real world. We conclude that extrinsic bugs negatively impact Just-In-Time models. Furthermore, we offer evidence that extrinsic bugs should be further investigated, as they can significantly impact how software engineers understand bugs.


翻译:Intrinsic 错误是软件版本控制系统中可以识别到错误导致变化的错误。 相反, 外部错误是由软件外部变化引起的, 例如外部 API 错误; 因此它们没有明显错误在版本控制系统中引入变化。 虽然大多数先前的研究文献都假设所有的错误都是内在的, 在前一项研究中, 我们显示并非所有错误都是内在的。 本文展示了一个实例, 说明在软件的版本控制系统中, 考虑外部错误可以影响软件的准确性能。 具体地说, 我们通过在 JIT 模型中部分复制最近由 McIntosh 和 Kamei 进行的研究, 来研究外部错误性能的影响。 虽然大多数以前的研究文献都认为所有错误都是内在性的, 但是在前一项研究中, 我们手动了McIntosh 和 Kamei 的错误性能, 来区分内向和外向性能的错误性能。 然后, 我们进一步研究它们最初的研究问题, 时间删除外部的错误性能, 开始在内部的错误性能中, 显示我们是否正在研究错误性变。 。 最后, 正确地研究我们是否正在研究, 了解我们是否正在研究。

0
下载
关闭预览

相关内容

程序猿的天敌 有时是一个不能碰的magic
最新《Transformers模型》教程,64页ppt
专知会员服务
310+阅读 · 2020年11月26日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
164+阅读 · 2020年3月18日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
已删除
将门创投
5+阅读 · 2018年2月28日
Arxiv
0+阅读 · 2021年5月20日
Arxiv
15+阅读 · 2020年2月6日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
VIP会员
相关VIP内容
最新《Transformers模型》教程,64页ppt
专知会员服务
310+阅读 · 2020年11月26日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
107+阅读 · 2020年5月3日
100+篇《自监督学习(Self-Supervised Learning)》论文最新合集
专知会员服务
164+阅读 · 2020年3月18日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
相关资讯
已删除
将门创投
5+阅读 · 2018年2月28日
Top
微信扫码咨询专知VIP会员