Module libafl::schedulers
source · Expand description
Schedule the access to the Corpus.
Re-exports§
pub use testcase_score::LenTimeMulTestcaseScore;
pub use testcase_score::TestcaseScore;
pub use queue::QueueScheduler;
pub use minimizer::IndexesLenTimeMinimizerScheduler;
pub use minimizer::LenTimeMinimizerScheduler;
pub use minimizer::MinimizerScheduler;
pub use powersched::PowerQueueScheduler;
pub use powersched::SchedulerMetadata;
pub use probabilistic_sampling::ProbabilitySamplingScheduler;
pub use accounting::CoverageAccountingScheduler;
pub use weighted::StdWeightedScheduler;
pub use weighted::WeightedScheduler;
pub use tuneable::*;
Modules§
- Coverage accounting corpus scheduler, more details at https://www.ndss-symposium.org/wp-content/uploads/2020/02/24422-paper.pdf
- The Minimizer schedulers are a family of corpus schedulers that feed the fuzzer with testcases only from a subset of the total corpus.
- The queue corpus scheduler for power schedules.
- Probabilistic sampling scheduler is a corpus scheduler that feeds the fuzzer with sampled item from the corpus.
- The queue corpus scheduler implements an AFL-like queue mechanism
- The
TestcaseScore
is an evaluator providing scores of corpus items. - The queue corpus scheduler implements an AFL-like queue mechanism The
TuneableScheduler
extends the queue scheduler with a method to chose the next corpus entry manually - The queue corpus scheduler with weighted queue item selection from AFL++. This queue corpus scheduler needs calibration stage.
Structs§
- Feed the fuzzer simply with a random testcase on request
Traits§
- Defines the common metadata operations for the AFL-style schedulers
- The scheduler also implements
on_remove
andon_replace
if it implements this stage. - The scheduler define how the fuzzer requests a testcase from the corpus. It has hooks to corpus add/replace/remove to allow complex scheduling algorithms to collect data.
Type Aliases§
- A
StdScheduler
uses the default scheduler inLibAFL
to scheduleTestcase
s. The currentStd
is aRandScheduler
, although this may change in the future, if anotherScheduler
delivers better results.