Trait libafl::feedbacks::Feedback [−][src]
pub trait Feedback<I, S>: Named where
I: Input,
S: HasClientPerfStats, {
fn is_interesting<EM, OT>(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
observers: &OT,
exit_kind: &ExitKind
) -> Result<bool, Error>
where
EM: EventFirer<I, S>,
OT: ObserversTuple<I, S>;
fn append_metadata(
&mut self,
_state: &mut S,
_testcase: &mut Testcase<I>
) -> Result<(), Error> { ... }
fn discard_metadata(
&mut self,
_state: &mut S,
_input: &I
) -> Result<(), Error> { ... }
}
Expand description
Feedbacks evaluate the observers. Basically, they reduce the information provided by an observer to a value, indicating the “interestingness” of the last run.
Required methods
fn is_interesting<EM, OT>(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
observers: &OT,
exit_kind: &ExitKind
) -> Result<bool, Error> where
EM: EventFirer<I, S>,
OT: ObserversTuple<I, S>,
fn is_interesting<EM, OT>(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
observers: &OT,
exit_kind: &ExitKind
) -> Result<bool, Error> where
EM: EventFirer<I, S>,
OT: ObserversTuple<I, S>,
is_interesting
return if an input is worth the addition to the corpus
Provided methods
Append to the testcase the generated metadata in case of a new corpus item
Implementations on Foreign Types
Hack to use () as empty Feedback