Skip to content

Fuzzer and generator for string and regex problems in SMT-LIB 2.x format.

License

Notifications You must be signed in to change notification settings

dblotsky/stringfuzz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

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

  • stringfuzzg to generate new instances
  • stringfuzzx to transform existing instances
  • stringstats to measure properties of instances
  • stringmerge to merge several instances into one

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

About

Fuzzer and generator for string and regex problems in SMT-LIB 2.x format.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •