4 ms·
My summary of how it works: Take a test program, take an input to the program, trace the program execution on the input. This results in a set of 'dead' (unexec
by Ono-Sendai 10y ago
My summary of how it works:
Take a test program, take an input to the program, trace the program execution on the input.
This results in a set of 'dead' (unexecuted) code for the given program and input. At this point you can start randomly perturbing (deleting parts of etc..) the dead code. If the program output changes, you have a compiler bug.
Seems like a nice technique. The only problem in my mind is the need for coverage/execution tracing that may not be readily available.