突变测试中的耦合效应是什么?

What is coupling effect in mutation testing?

在我学习突变测试的同时,我读到了 Wikipedia:

The coupling effect asserts that simple faults can cascade or couple to form other emergent faults.

Subtle and important faults are also revealed by higher-order mutants, which further support the coupling effect

耦合效应假说我不是很明白。有人可以用一些具体的例子详细说明吗?

耦合效应的维基百科定义是无稽之谈。如果您查看历史记录,在 2014/2015 年左右曾尝试修复它,但某个特定用户不断将其还原。

Offut的这篇论文给出了清晰而权威的定义。

Test data that distinguishes all programs differing from a correct one by only simple errors is so sensitive that it also implicitly distinguishes more complex errors.

Since examples of complex faults that are not coupled to simple faults can be constructed, the coupling effect is probabilistic rather than absolute.

https://cs.gmu.edu/~offutt/rsrch/papers/coupl.pdf

换句话说,如果测试可以在代码中的某个位置检测到简单故障,那么它(可能)还会在同一位置检测到更复杂的故障。

这被认为很重要,因为变异测试插入的错误通常是对代码的简单单一更改。