<div dir="ltr">Haven't heard of anyone working on it (& don't have time myself) - but I've been looking forward to/wanting to see such a tool in LLVM/Clang for a while now. (if you could have it running on a buildbot or similar that tracked LLVM changes so we could vet code change test coverage... that'd be so awesome)<br><br>I'd always pictured such a tool as more like a sanitizer/run at the LLVM IR level rather than as source transformations - but I've not thought about it too much & maybe it makes more sense as a real source transformation (easier to communicate to the user "this change is not caught by test coverage").<br><br>(idle thought: Presumably it'd be easier to just add a ! at the top of the boolean expression, so transforming "if (date > expiry)" into "if (!(date > expiry))")</div><br><div class="gmail_quote"><div dir="ltr">On Tue, Aug 9, 2016 at 3:02 AM Jonathan Coe via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'd like a tool that applies plausible edits to code so I can check if tests pick up the change or not.<div><br></div><div>I think I can do this with a clang-tidy-like framework with a list of mutations (rather than checks).</div><div><br></div><div>The tool would produce a large list of single-change 'fixes' for clang-apply-fixes to make use of and to be set up as a series of mutated branches for a CI system. Applying mutations to only new code should keep the set manageable. </div><div><br></div><div>An example mutation would invert `<` in conditionals:</div><div><br></div><div>`if(date > expiry ) { return 0.0; }`</div><div><br></div><div>is mutated to</div><div><br></div><div>`if(date < expiry ) { return 0.0; }`</div><div><br></div><div>If our tests don't spot this, we have a gap.</div><div><br></div><div>Is anyone working on, or interested in collaborating on a similar tool?</div><div><br></div><div>regards,</div><div><br></div><div>Jon</div></div>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div>