Teaching and Assessing Property-Based Testing
blog.brownplt.org
blog.brownplt.org
As one class of examples, a ton of numeric code works by iteratively finding better solutions till some stopping condition is met, and since such algorithms are by design robust to certain kinds of perturbations a mutation testing framework will find a ton of mutations which don't meaningfully affect the final output. Interpreting such a report requires spending time to figure out if any particular perturbation should or should not have been detected by your tests.
I use mutation testing for critical code. I don't run it in CI due to it being too slow and bad at incremental work. This is my own mutation tester so that's on me :)