Software developers attempt to reproduce software bugs to understand their erroneous behaviours and to fix them. Unfortunately, they often fail to reproduce (or fix) them, which leads to faulty, unreliable software systems. However, to date, only a little research has been done to better understand what makes the software bugs non-reproducible. In this paper, we conduct a multimodal study to better understand the non-reproducibility of software bugs. First, we perform an empirical study using 576 non-reproducible bug reports from two popular software systems (Firefox, Eclipse) and identify 11 key factors that might lead a reported bug to non-reproducibility. Second, we conduct a user study involving 13 professional developers where we investigate how the developers cope with non-reproducible bugs. We found that they either close these bugs or solicit for further information, which involves long deliberations and counter-productive manual searches. Third, we offer several actionable insights on how to avoid non-reproducibility (e.g., false-positive bug report detector) and improve reproducibility of the reported bugs (e.g., sandbox for bug reproduction) by combining our analyses from multiple studies (e.g., empirical study, developer study).


翻译:软件开发商试图复制软件错误, 以理解错误行为并修复错误行为。 不幸的是, 他们常常未能复制( 或修复) 软件错误行为, 从而导致错误和不可靠的软件系统。 然而, 至今为止, 仅做了一些小研究, 以更好地了解软件错误无法复制的原因。 在本文中, 我们进行了一项多式研究, 以更好地了解软件错误不可复制的问题。 首先, 我们用两个流行的软件系统( Firrefox, Eclipse) 的576 不可复制的错误报告进行一项经验性研究, 并找出11个可能导致报告错误无法复制的关键因素。 第二, 我们进行了一项用户研究, 涉及13个专业开发商, 调查开发商如何应对不可复制的错误。 我们发现, 他们要么关闭了这些错误, 要么寻求进一步的信息, 这需要长时间的思考和反效果的手工搜索。 第三, 我们就如何避免不复制( 例如, 错误的错误的错误报告检测器) 进行一些可操作的洞察到的洞察到如何( ) 并改进被报告的错误复制研究的可复制能力( ) 。 ( 例如,,, 和 模拟研究) ( 模拟研究 ) 。

0
下载
关闭预览

相关内容

【斯坦福Jiaxuan You】图学习在金融网络中的应用,24页ppt
专知会员服务
43+阅读 · 2021年9月19日
【如何做研究】How to research ,22页ppt
专知会员服务
108+阅读 · 2021年4月17日
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
39+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员