Skip to content
Matt Windsor edited this page Apr 4, 2019 · 1 revision

The c fuzz command takes, as input, a C litmus test. It then performs various mutations to the litmus test, and outputs the resulting modified test.

Note: the act c fuzz command is highly experimental, and doesn't (yet) do much---neither does it necessarily obey its own guarantees. Use at your own risk!

Usage

act c fuzz [FILE]

This command supports the standard flags, as well as the following:

  • -seed INT: Use this integer as a seed to the fuzzer's random number generator. This is useful for ensuring deterministic output.

Fuzz action weightings

TBC (currently adding this to the configuration)

Batch mutation

The act program doesn't directly support mutating n tests k times. To do this on Unix-like systems, use the ./scripts/fuzz_many.sh Bourne shell script.

This script creates a new directory based on the current timestamp at run-time, and symlinks ./_fuzz_latest to it. It will delete any existing ./_fuzz_latest.

Note: by default, fuzz_many.sh executes act (assuming it's in your PATH). To specify a different path to act, set the ACT environment variable. To use dune exec act, you'll need to install it somewhere.

Clone this wiki locally