dblotsky / stringfuzz

Fuzzer and generator for string and regex problems in SMT-LIB 2.x format.
Other
20 stars 9 forks source link

Description

A collection of tools to manipulate and generate SMT-LIB 2.x problem instances. There are four main tools:

Installing

Clone this repository, and run this command inside it:

python3 setup.py install

Running

Without installing, the scripts can be run from the repository root as follows:

./bin/stringfuzzg --help
./bin/stringfuzzx --help
./bin/stringstats --help

If installed, they can be run from anywhere as follows:

stringfuzzg --help
stringfuzzx --help
stringstats --help

Examples

To create a problem with concats nested 100 levels deep:

./bin/stringfuzzg concats --depth 100

To create the above problem and replace all characters with unprintable ones:

./bin/stringfuzzg concats --depth 100 | ./bin/stringfuzzx unprintable

To create and immediately feed a problem to Z3str3:

./bin/stringfuzzg concats --depth 100 | z3str3 -in