Trait libafl::stages::tmin::TMinMutationalStage
source · pub trait TMinMutationalStage<CS, E, EM, F1, F2, M, OT, Z>: Stage<E, EM, Z> + FeedbackFactory<F2, CS::State, OT>where
Self::State: HasCorpus + HasExecutions + HasMaxSize + HasClientPerfMonitor,
<Self::State as UsesInput>::Input: HasLen + Hash,
CS: Scheduler<State = Self::State>,
E: Executor<EM, Z> + HasObservers<Observers = OT, State = Self::State>,
EM: EventFirer<State = Self::State>,
F1: Feedback<Self::State>,
F2: Feedback<Self::State>,
M: Mutator<Self::Input, Self::State>,
OT: ObserversTuple<CS::State>,
Z: ExecutionProcessor<OT, State = Self::State> + ExecutesInput<E, EM> + HasFeedback<Feedback = F1> + HasScheduler<Scheduler = CS>,{
fn mutator(&self) -> &M;
fn mutator_mut(&mut self) -> &mut M;
fn iterations(
&self,
state: &mut CS::State,
corpus_idx: CorpusId
) -> Result<usize, Error>;
fn perform_minification(
&mut self,
fuzzer: &mut Z,
executor: &mut E,
state: &mut CS::State,
manager: &mut EM,
base_corpus_idx: CorpusId
) -> 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)