(Un-)Covering Equivalent Mutants

(Un-)Covering Equivalent Mutants
复制标题

(Un-)覆盖等效突变体

DOI:
--
复制
发表时间:
2010
期刊:
2010 Third International Conference on Software Testing, Verification and Validation
影响因子:
--
通讯作者:
A. Zeller
A. Zeller
中科院分区:
--
文献类型:
--
作者:
David Schuler;A. Zeller

文献摘要

被引文献

相似文献

突变测试通过将人工缺陷(突变)播种到程序中来衡量测试套件的充分性。如果测试套件无法检测到突变,则可能无法检测到实际缺陷,因此应改进。但是,还有一些突变使程序语义保持不变,因此无法通过任何测试套件检测到。这种等效的突变体必须手动淘汰,这是一项繁琐的任务。在本文中,我们检查覆盖范围的变化是否可用于检测非等效的突变体:如果突变体改变了运行的覆盖范围,则更有可能是非等效的。 INA样本的140个手动分类的七个Java程序的突变,具有5,000至100,000行代码,我们发现:(a)问题是严重的,并且在所有未检测到的突变体中有45%的范围是相等的;(b)手册;(b)分类需要时间为15分钟。 (c)覆盖范围是一种简单,有效且有效的方法,用于识别等效突变体,分类精度为75%,召回56%; (d)作为等效探测器的覆盖范围优于艺术的状态,特别是违反动态不变的。我们的探测器已作为开源Javalanche框架的一部分发布;数据集可公开可用于复制和扩展实验。
Mutation testing measures the adequacy of a test suite by seeding artificial defects (mutations) into a program. If a test suite fails to detect a mutation, it may also fail to detect real defects-and hence should be improved. However, there also are mutations which keep the program semantics unchanged and thus cannot be detected by any test suite. Such equivalent mutants must be weeded out manually, which is a tedious task. In this paper, we examine whether changes in coverage can be used to detect non-equivalent mutants: If a mutant changes the coverage of a run, it is more likely to be non-equivalent. Ina sample of 140 manually classified mutations of seven Java programs with 5,000to 100,000 lines of code, we found that: (a) the problem is serious and widespread-about 45% of all undetected mutants turned out to be equivalent;(b) manual classification takes time-about 15 minutes per mutation; (c)coverage is a simple, efficient, and effective means to identify equivalent mutants-with a classification precision of 75% and a recall of 56%; and (d)coverage as an equivalence detector is superior to the state of the art, in particular violations of dynamic invariants. Our detectors have been released as part of the open source Javalanche framework; the data set is publicly available for replication and extension of experiments.