gazprea-fuzzer-python/test/config.yaml

95 lines
2.6 KiB
YAML
Raw Permalink Normal View History

# The default configuration for the Gazprea Fuzzer
---
generation-options:
max-nesting-depth: 5 # maximum nesting depth for statements
max-conditionals-loops: 5 # maximum number of loops/conditionals per routine
max-number-of-routines: 5 # maximum number of routines (main will always be generated)
generate-dead-code: True # generate dead code
properties:
max-range-length: 5 # maximum length of ranges, vectors and tuples, (AxA matrices can exist)
use-english-words: True # use english words instead of random names (this may limit the maximum number of names)
id-length: # length of identifiers
min: 1
max: 10
function-name-length: # length of function names
min: 1
max: 10
number-of-arguments: # number of arguments to a routine
min: 1
max: 10
generate-max-int: True # if False, generate integers between [-1000, 1000] else
expression-weights: # weights for expressions
# the higher a weight, the more likely (0, 10000), 0 to exclude, 10000 for only that
brackets: 10
arithmetic:
addition: 80
subtraction: 80
multiplication: 30
division: 10
modulo: 10
power: 5
comparison:
equality: 50
inequality: 50
less-than: 30
greater-than: 30
less-than-or-equal: 10
greater-than-or-equal: 10
logical:
and: 50
or: 50
xor: 10
vector-or-string:
generator: 20
range: 30
filter: 10
reverse: 10
concatenation: 50
unary:
noop: 10
negation: 20
not: 10
statement-weights: # set to 0 for any statements you wish to exclude
variable-declaration: 50
routine-call: 20
conditional: 30
loop: 20
assignment: 40
out-stream: 20
in-stream: 5
type-weights:
value-types:
integer: 50
real: 50
boolean: 50
character: 50
void: 10
composite-types:
vector: 20
tuple: 5
matrix: 10
string: 10
composite: 0 #TODO add support for composite types
atomic: 40
routine-weights:
procedure: 20
function: 50
misc-weights:
type-qualifier-weights:
const: 10
var: 60
block-termination-probability: 0.2 # probability for a block to terminate