c4-project / c4t

Runs concurrent C compiler tests
MIT License
1 stars 0 forks source link

Add no-op fuzzer #77

Open MattWindsor91 opened 3 years ago

MattWindsor91 commented 3 years ago

Currently, there is only one fuzzer - the ACT fuzzer - and it's hardcoded into a lot of the tester. In the long term, it would be nice to move to a situation similar to compilers (and sort-of similar to backends) whereby there are multiple different 'styles' of fuzzer selectable in the configuration.

For now, however, it would be useful to have precisely one new 'fuzzer': one that takes the Litmus file, and outputs the Litmus file. This would be useful, at the moment, for precisely one purpose: making the coverage generator able to output unfuzzed, but delitmusified, corpora. I could also imagine it being useful for simplifying the process of bisecting and other things that don't need fuzzing.

MattWindsor91 commented 3 years ago

There is in fact already a NopFuzzer that does literally nothing; really it should copy input to output, or specify that it works in-place, or something like that.

We'd also need to make sure that either the fuzzer cycle number should be set per fuzzer (so that it gets floored to 1 for the nop fuzzer), or that fuzzers can mark themselves as idempotent and/or in-place.