deepstate
deepstate copied to clipboard
Mark symbolic fields in test harnesses as irreducible
A test harness is a class that contains common state, setup, and teardown code. Some of that state is likely to be symbolic variables. We need some additional annotations, e.g. during constructor, and just after the constructor, and then around the SetUp call, to mark any symbolic data requested therein as not being subject to reductions that eliminate bytes.
Heuristic only, right? While you can't get rid of those bytes, you might have a working reduction by shifting some other bytes into that position, which is just as useful. It might make sense to always postpone trying to remove those bytes until last removal targets, due to low probability of actual removal.
They are arguably high-priority targets for byte-value reduction, since I can imagine that kind of code sometimes making decisions about length/size of future test decisions.