【24h】

Inducing Subtle Mutations with Program Repair

机译:用程序修复诱导细微突变

获取原文
获取外文期刊封面目录资料

摘要

Mutation analysis is the gold standard for assessing the effectiveness of a test suite to prevent bugs. It involves injecting syntactic changes in the program, generating variants (mutants) of the program under test, and checking whether the test suite detects the mutant. Practitioners often rely on these live mutants to decide what test cases to write for improving the test suite effectiveness.While a majority of such syntactic changes result in semantic differences from the original, it is possible that such a change fails to induce a corresponding semantic change in the mutant. Such equivalent mutants can lead to wastage of manual effort.We describe a novel technique that produces high-quality mutants while avoiding the generation of equivalent mutants for input processors. Our idea is to generate plausible, near correct inputs for the program, collect those rejected, and generate variants that accept these rejected strings. This technique allows us to provide an enhanced set of mutants along with newly generated test cases that kill them.We evaluate our method on eight python programs and show that our technique can generate new mutants that are both interesting for the developer and guaranteed to be mortal.
机译:突变分析是评估测试套件的有效性以防止虫子的金标准。它涉及在节目中注入句法变化,生成正在测试的程序的变体(突变体),并检查测试套件是否检测到突变体。从业者经常依靠这些活突变体来决定为改善测试套件有效性的写作案例。当大多数此类句法变化导致与原始的语义差异导致语义差异,这种变化可能无法诱导相应的语义变化在突变体中。这种等同的突变体可以导致手动努力的浪费。我们描述了一种新的技术,其产生高质量的突变体,同时避免产生输入处理器的等效突变体。我们的想法是生成合理的,靠近正确输入的程序,收集那些被拒绝的人,并生成接受这些被拒绝的字符串的变体。该技术允许我们提供一种增强的突变体以及杀死它们的新生成的测试用例。我们在八个Python程序中评估我们的方法,并显示我们的技术可以生成开发人员有趣的新突变体,并保证成为凡人的新突变体。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号