Closed thetheodor closed 1 year ago
@Quarub this is the most basic diff testing functionality
It's still incomplete so feel free to ignore this. But it shows the core idea.
I think it's quite nice how short this can be given the new dead_instrumenter
and diopter
@Quarub This implements a very basic version of the differential testing part. Can be used, e.g., as:
python -m dead "clang-14 -O3" "clang-15 -O3" output_directory --testing_mode=unidirectional
This will generate and test in parallel cases and dump (in a very stupid way) the results in output_directory
I'll add reductions in a subsequent PR
I'm wondering if dead2 should follow the "data hoarding" approach like I used in the ORM version, i.e. instead of storing the difference of markers, we store all alive markers and have the interestingness test as a separate function.
Pro: Nearly free signatures and signature tests. Test-type can be decided after the fact.
Con: Complexity.
Yup, it probably makes sense to directly store the marker status (probably other stuff as well?), but atm it's very easy to extract them: case.program.find_{alive,dead}_markers(case.setting{1,2})
.
I am wondering if it would make sense to directly store some kind of signature instead of plainly listing markers
Missing: