Crate byte_mutator

Source
Expand description

§Byte Mutator

byte-mutator is a crate for defining a set of rules by which to mutate byte arrays. It contains two main primitives: Stage, and Mutator. A Stage allows multiple mutations per step, and a Mutator is a small stateful object that

Re-exports§

pub use crate::fuzz_config::FuzzConfig;
pub use crate::mutators::Mutation;
pub use crate::mutators::MutationType;
pub use crate::undo_buffer::UndoBuffer;

Modules§

fuzz_config
Deserializes a .toml config into a FuzzConfig object that can be used to configure a ByteMutator. See tests for examples.
mutators
This module contains the available mutators.
undo_buffer
UndoBuffer is a structure that is used to expose an ‘undo’ interface to a fixed size buffer. It internally maintains two fixed size ArrayVec structures. These arrays are identical on construction, but only one can be written to. UndoBuffer keeps track of which areas of the buffer have been mutably borrowed, and can then reset the buffer back to its original state.

Structs§

ByteMutator
A defined set of stages of mutations
Stage
Used to define groups of mutations, and how many mutations should be performed.

Enums§

Iterations
Used to limit the number of iterations in a Stage. todo: Unused, fix