Delta Debugging is an automated approach to debugging that isolates failures systematically.
It takes two steps of input, one which yields a correct result and another one which cause a failure. Delta Debugging then modifies both input with the goal of minimizing their difference while preserving the test outcome.
It includes a compile-time step, which produces a mutations of the program to be analyzed, and a run-time step where the outcome of that mutation is verified by testing.
