...
首页> 外文期刊>Empirical Software Engineering >An empirical study on the use of SZZ for identifying inducing changes of non-functional bugs
【24h】

An empirical study on the use of SZZ for identifying inducing changes of non-functional bugs

机译:SZZ用于识别非功能性虫子的变化的实证研究

获取原文
获取原文并翻译 | 示例
           

摘要

Non-functional bugs, e.g., performance bugs and security bugs, bear a heavy cost on both software developers and end-users. For example, IBM estimates the cost of a single data breach to be millions of dollars. Tools to reduce the occurrence, impact, and repair time of non-functional bugs can therefore provide key assistance for software developers racing to fix these issues. Identifying bug-inducing changes is a critical step in software quality assurance. In particular, the SZZ approach is commonly used to identify bug-inducing commits. However, the fixes to non-functional bugs may be scattered and separate from their bug-inducing locations in the source code. The nature of non-functional bugs may therefore make the SZZ approach a sub-optimal approach for identifying bug-inducing changes. Yet, prior studies that leverage or evaluate the SZZ approach do not consider non-functional bugs, leading to potential bias on the results. In this paper, we conduct an empirical study on the results of the SZZ approach when used to identify the inducing changes of the non-functional bugs in the NFBugs dataset. We eliminate a majority of the bug-inducing commits as they are not in the same method or class level. We manually examine whether each identified bug-inducing change is indeed the correct bug-inducing change. Our manual study shows that a large portion of non-functional bugs cannot be properly identified by the SZZ approach. By manually identifying the root causes of the falsely detected bug-inducing changes, we uncover root causes for false detection that have not been found by previous studies. We evaluate the identified bug-inducing changes based on three criteria from prior research, i.e., the earliest bug appearance, the future impact of changes, and the realism of bug introduction. We find that prior criteria may be irrelevant for non-functional bugs. Our results may be used to assist in future research on non-functional bugs, and highlight the need to complement SZZ to accommodate the unique characteristics of non-functional bugs.
机译:非功能性错误,例如性能错误和安全错误,在软件开发人员和最终用户都承担重大成本。例如,IBM估计单个数据泄露的成本为数百万美元。因此,可以减少非功能性错误的发生,影响和修复时间的工具可以为解决这些问题的软件开发人员提供关键帮助。识别错误诱导的变化是软件质量保证的关键步骤。特别地,SZZ方法通常用于识别错误诱导的提交。但是,对非功能性错误的修复可以分散并与源代码中的错误诱导位置分开。因此,非功能性错误的性质可以使SZZ方法成为识别错误诱导变化的子最优方法。然而,在利用或评估SZZ方法的情况下,不考虑非功能性错误,导致结果偏见。在本文中,我们在用于识别NFBugs数据集中的非功能性错误的诱导变化时对SZZ方法的结果进行了实证研究。我们消除了大部分错误引起的犯罪,因为它们不在相同的方法或类级别。我们手动检查每个已识别的错误诱导变化是否确实是正确的错误诱导变化。我们的手动研究表明,SZZ方法无法正确识别大部分非功能性错误。通过手动识别虚假检测到的错误诱导变化的根本原因,我们揭示了以前研究未发现的错误检测的根本原因。我们评估了基于先前研究的三个标准的所识别的错误诱导变化,即最早的错误外观,更改的未来影响以及错误介绍的现实主义。我们发现前面的标准可能与非功能性错误无关。我们的结果可用于帮助将来对非功能性错误的研究,并突出补充SZZ以适应非功能性错误的独特特征。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号