NAME
Radamsa - Perl 5 bindings for the Radamsa mutational fuzzer
SYNOPSIS
use Radamsa qw(mutate);
my $output = mutate("hello\n", seed => 1234, max_len => 4096);
my $rad = Radamsa->new(seed => 1, max_len => 4096);
my $case1 = $rad->mutate("sample one");
my $case2 = $rad->mutate("sample two");
DESCRIPTION
This module wraps Radamsa's C library interface and exposes a simple Perl API for generating fuzzed variants of byte strings. The CPAN distribution ships a vendored generated C source for Radamsa, so installation does not need network access or the original Owl Lisp toolchain.
FUNCTIONS
mutate
my $output = mutate($input, %options);
Mutates one byte string and returns the mutated output.
Options:
seed
Unsigned 32-bit seed passed to the Radamsa library entry point.
max_len
Maximum output size in bytes. Defaults to a heuristic based on the input size.
METHODS
new
my $rad = Radamsa->new(%options);
Creates a stateful mutator object.
NOTES
Radamsa's library mode keeps internal mutation state between calls. A fixed seed influences generation, but repeated calls with the same seed should not be assumed to be byte-for-byte deterministic for the lifetime of the same process.
LICENSE
This distribution includes vendored Radamsa source code by Aki Helin under the MIT license. See the top-level LICENSE file.