← Back to context

Comment by vlovich123

4 days ago

I’ve read the readme a few times and still have no idea how this is useful. The motivating example of Sort => SortBy has no description of what’s highlighted and no description of how. Is it running the old test suite with the new changes as a weak form of mutation testing? Something else?

Not mutation testing — nothing is mutated. It builds both branches with instrumentation, runs the same test suite on each, and diffs the recorded arguments and return values. In that example, selectDiscount returns a different discount and the order total goes 85 → 60. Neither function is in the diff; only the sort helper is. The tests still pass — one asserts the total is positive, and 60 is positive.

  • please try speaking in your own words. i still have no idea what this is for. is it two compare two impls? is it to "optimize" a function (i assume not since there's no mutation)?

    • hi, this is simply put, to compare the behavior diff of two builds. when i say behavior, i mean the return values of functions etc. it'll help with AI-assisted code reviews etc. since AI looks at the text diff only, and misses behavior diff downstream. it complements static analysis and unit tests for a stronger testing strategy.