pub trait TMinMutationalStage<CS, E, EM, F1, F2, I, M, OT, S, Z>: Stage<E, EM, S, Z> + FeedbackFactory<F2, I, S, OT>where
CS: Scheduler<I, S>,
E: Executor<EM, I, S, Z> + HasObservers<I, OT, S>,
EM: EventFirer<I>,
F1: Feedback<I, S>,
F2: Feedback<I, S>,
I: Input + Hash + HasLen,
M: Mutator<I, S>,
OT: ObserversTuple<I, S>,
S: HasClientPerfMonitor + HasCorpus<I> + HasExecutions + HasMaxSize,
Z: ExecutionProcessor<I, OT, S> + ExecutesInput<I, OT, S, Z> + HasFeedback<F1, I, S> + HasScheduler<CS, I, S>,{
fn mutator(&self) -> &M;
fn mutator_mut(&mut self) -> &mut M;
fn iterations(&self, state: &mut S, corpus_idx: usize) -> Result<usize, Error>;
fn perform_minification(
&mut self,
fuzzer: &mut Z,
executor: &mut E,
state: &mut S,
manager: &mut EM,
base_corpus_idx: usize
) -> Result<(), Error> { ... }
}
Expand description
Mutational stage which minimizes corpus entries.
You must provide at least one mutator that actually reduces size.
Required Methods
sourcefn mutator_mut(&mut self) -> &mut M
fn mutator_mut(&mut self) -> &mut M
The mutator registered for this stage (mutable)