Struct libafl::feedbacks::concolic::ConcolicFeedback
source · pub struct ConcolicFeedback<S> { /* private fields */ }
Expand description
The concolic feedback. It is used to attach concolic tracing metadata to the testcase.
This feedback should be used in combination with another feedback as this feedback always considers testcases
to be not interesting.
Requires a ConcolicObserver
to observe the concolic trace.
Implementations§
source§impl<S> ConcolicFeedback<S>
impl<S> ConcolicFeedback<S>
sourcepub fn from_observer(observer: &ConcolicObserver<'_>) -> Self
pub fn from_observer(observer: &ConcolicObserver<'_>) -> Self
Creates a concolic feedback from an observer
Trait Implementations§
source§impl<S: Debug> Debug for ConcolicFeedback<S>
impl<S: Debug> Debug for ConcolicFeedback<S>
source§impl<S> Feedback<S> for ConcolicFeedback<S>where
S: UsesInput + Debug + HasClientPerfMonitor,
impl<S> Feedback<S> for ConcolicFeedback<S>where
S: UsesInput + Debug + HasClientPerfMonitor,
source§fn is_interesting<EM, OT>(
&mut self,
_state: &mut S,
_manager: &mut EM,
_input: &<S as UsesInput>::Input,
observers: &OT,
_exit_kind: &ExitKind
) -> Result<bool, Error>where
EM: EventFirer<State = S>,
OT: ObserversTuple<S>,
fn is_interesting<EM, OT>(
&mut self,
_state: &mut S,
_manager: &mut EM,
_input: &<S as UsesInput>::Input,
observers: &OT,
_exit_kind: &ExitKind
) -> Result<bool, Error>where
EM: EventFirer<State = S>,
OT: ObserversTuple<S>,
is_interesting
return if an input is worth the addition to the corpussource§fn append_metadata(
&mut self,
_state: &mut S,
_testcase: &mut Testcase<<S as UsesInput>::Input>
) -> Result<(), Error>
fn append_metadata(
&mut self,
_state: &mut S,
_testcase: &mut Testcase<<S as UsesInput>::Input>
) -> Result<(), Error>
Append to the testcase the generated metadata in case of a new corpus item
Auto Trait Implementations§
impl<S> RefUnwindSafe for ConcolicFeedback<S>where
S: RefUnwindSafe,
impl<S> Send for ConcolicFeedback<S>where
S: Send,
impl<S> Sync for ConcolicFeedback<S>where
S: Sync,
impl<S> Unpin for ConcolicFeedback<S>where
S: Unpin,
impl<S> UnwindSafe for ConcolicFeedback<S>where
S: UnwindSafe,
Blanket Implementations§
source§impl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
§type PreprendResult = Tail
type PreprendResult = Tail
The Resulting
TupleList
, of an Prepend::prepend()
call,
including the prepended entry.source§fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
Prepend a value to this tuple, returning a new tuple with prepended value.