Expand description
The feedbacks reduce observer state after each run to a single is_interesting
-value.
If a testcase is interesting, it may be added to a Corpus.
Re-exports
pub use map::*;
pub use concolic::ConcolicFeedback;
Modules
Concoliic feedback for comcolic fuzzing.
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.
Map feedback, maximizing or minimizing maps, for example the afl-style map observer.
Structs
A cobined feedback consisting of ultiple Feedback
s
A CrashFeedback
reports as interesting if the target crashed.
Eager AND
combination of two feedbacks
Eager OR
combination of two feedbacks
Fast AND
combination of two feedbacks
Fast OR
combination of two feedbacks
Compose feedbacks with an NOT
operation
Nop feedback that annotates execution time in the new testcase, if any
for this Feedback, the testcase is never interesting (use with an OR)
It decides, if the given TimeObserver
value of a run is interesting.
A TimeoutFeedback
reduces the timeout value of a run.
Traits
Feedbacks evaluate the observers. Basically, they reduce the information provided by an observer to a value, indicating the “interestingness” of the last run.
Logical combination of two feedbacks
FeedbackState
is the data associated with a Feedback
that must persist as part
of the fuzzer State
A haskell-style tuple of feedback states
Type Definitions
Combine two feedbacks with an eager AND operation, will call all feedbacks functions even if not necessery to conclude the result
Combine two feedbacks with an eager OR operation, will call all feedbacks functions even if not necessery to conclude the result
Combine two feedbacks with an fast AND operation, might skip calling feedbacks functions if not necessery to conclude the result
Combine two feedbacks with an fast OR operation,
might skip calling feedbacks functions if not necessery to conclude the result
This means any feedback that is not first might be skipped, use caution when using with
TimeFeedback