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 probabilistic_sampling::ProbabilitySamplingScheduler;
pub use accounting::CoverageAccountingScheduler;
pub use weighted::StdWeightedScheduler;
pub use weighted::WeightedScheduler;
pub use ecofuzz::EcoMetadata;
pub use ecofuzz::EcoScheduler;
pub use ecofuzz::EcoState;
pub use ecofuzz::EcoTestcaseMetadata;
pub use ecofuzz::EcoTestcaseScore;
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 corpus scheduler from
EcoFuzz
(https://www.usenix.org/conference/usenixsecurity20/presentation/yue
) - 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 aflpp (
https://github.com/AFLplusplus/AFLplusplus/blob/1d4f1e48797c064ee71441ba555b29fc3f467983/src/afl-fuzz-queue.c#L32
) This queue corpus scheduler needs calibration stage.
Structs
- Feed the fuzzer simply with a random testcase on request
Traits
- The scheduler also implemnts
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.