Trait libafl::fuzzer::ExecutionProcessor

source ·
pub trait ExecutionProcessor<OT>: UsesState {
    // Required methods
    fn execute_no_process<EM>(
        &mut self,
        state: &mut Self::State,
        manager: &mut EM,
        input: &<Self::State as UsesInput>::Input,
        observers: &OT,
        exit_kind: &ExitKind
    ) -> Result<ExecuteInputResult, Error>
       where EM: EventFirer<State = Self::State>;
    fn process_execution<EM>(
        &mut self,
        state: &mut Self::State,
        manager: &mut EM,
        input: <Self::State as UsesInput>::Input,
        exec_res: &ExecuteInputResult,
        observers: &OT,
        exit_kind: &ExitKind,
        send_events: bool
    ) -> Result<Option<CorpusId>, Error>
       where EM: EventFirer<State = Self::State>;
    fn execute_and_process<EM>(
        &mut self,
        state: &mut Self::State,
        manager: &mut EM,
        input: <Self::State as UsesInput>::Input,
        observers: &OT,
        exit_kind: &ExitKind,
        send_events: bool
    ) -> Result<(ExecuteInputResult, Option<CorpusId>), Error>
       where EM: EventFirer<State = Self::State>;
}
Expand description

Evaluates if an input is interesting using the feedback

Required Methods§

source

fn execute_no_process<EM>( &mut self, state: &mut Self::State, manager: &mut EM, input: &<Self::State as UsesInput>::Input, observers: &OT, exit_kind: &ExitKind ) -> Result<ExecuteInputResult, Error>
where EM: EventFirer<State = Self::State>,

Evaluate if a set of observation channels has an interesting state

source

fn process_execution<EM>( &mut self, state: &mut Self::State, manager: &mut EM, input: <Self::State as UsesInput>::Input, exec_res: &ExecuteInputResult, observers: &OT, exit_kind: &ExitKind, send_events: bool ) -> Result<Option<CorpusId>, Error>
where EM: EventFirer<State = Self::State>,

Process ExecuteInputResult. Add to corpus, solution or ignore

source

fn execute_and_process<EM>( &mut self, state: &mut Self::State, manager: &mut EM, input: <Self::State as UsesInput>::Input, observers: &OT, exit_kind: &ExitKind, send_events: bool ) -> Result<(ExecuteInputResult, Option<CorpusId>), Error>
where EM: EventFirer<State = Self::State>,

Evaluate if a set of observation channels has an interesting state

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<CS, F, OF, OT> ExecutionProcessor<OT> for StdFuzzer<CS, F, OF, OT>