I've never found any tools for C language mutation testing that I like. What I normally do is setup a set of ad-hoc shell scripts. My process: 0) Achieve 100% condition-decision branch coverage in tests, without it mutation testing is pointless. 1) Have my scripts step through each non-comment token or character of the source to be tested and perform a limit set of mutations that include things like negating expressions, negating values, changing digits, reversing comparisons, commenting lines, swapping pairs of lines, etc. 2) attempt to compile the result with optimizations. 3) if it compiles check the md5 of the binary against prior md5s and skip duplicates. 4) Attempt to run the tests, if the test passes, save off the mutated source. go back to (1). I then manually inspect the passing cases to find out if they are logically equivalent to the original code but happened to get compiled to different code. If the new code is wrong, I'll try to write a test that fails the mutation. I usually find that I can test all single point and often all two point mutations (out of whatever class I'm considering) in a reasonable amount of time. Though my idea of a 'reasonable amount of time' is usually measured in cpu-years... and I'm usually applying this to pretty short codes. This could be much better with syntax aware mutation, though mostly that would avoid wasting time on compile errors. My mutations don't consider stuff like swapping variables though that would probably be really useful. The optimizer seems to do a reasonable job at converting many dumb mutations into the same binaries.