首页> 外文会议>IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice >What It Would Take to Use Mutation Testing in Industry—A Study at Facebook
【24h】

What It Would Take to Use Mutation Testing in Industry—A Study at Facebook

机译:在Facebook中使用行业中的突变测试需要什么

获取原文

摘要

Traditionally, mutation testing generates an abun-dance of small deviations of a program, called mutants. At industrial systems the scale and size of Facebook’s, doing this is infeasible. We should not create mutants that the test suite would likely fail on or that give no actionable signal to developers. To tackle this problem, in this paper, we semi-automatically learn error-inducing patterns from a corpus of common Java coding errors and from changes that caused operational anomalies at Facebook specifically. We combine the mutations with instrumentation that measures which tests exactly visited the mutated piece of code. Results on more than 15,000 generated mutants show that more than half of the generated mutants survive Facebook’s rigorous test suite of unit, integration, and system tests. Moreover, in a case study with 26 developers, all but two expressed that the mutation exposed a lack of testing in principle. As such, almost half of the 26 would actually act on the mutant presented to them by adapting an existing or creating a new test. The others did not for a variety of reasons often outside the scope of mutation testing. It remains a practical challenge how we can include such external information to increase the actionability rate on mutants.
机译:传统上,突变测试产生了一种叫做突变体的程序的小偏差的矛盾。在工业系统,Facebook的规模和大小,这样做是不可行的。我们不应该创建突变体,即测试套件可能会失败或为开发人员提供可操作的信号。为了解决这个问题,在本文中,我们可以半自动学习来自常见Java编码错误的语料库中的错误诱导模式,以及从Facebook中引起的操作异常的变化。我们将突变与仪器结合起来,该仪器衡量测试恰好访问的突变的代码。结果超过15,000个生成的突变体表明,超过一半的生成突变体存活了Facebook的严格测试套件,集成和系统测试。此外,在案例研究中,均为两种开发人员的研究表明,突变原则上暴露了缺乏测试。因此,几乎一半的26实际上通过调整现有或创建新测试来对他们呈现给他们的突变体。其他人没有出于各种原因,通常在突变测试范围之外。它仍然是一个实用的挑战,我们如何包括这种外部信息,以提高突变体上的可动性率。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号