Test Case Reducers: package fuzzinator.reduce

function Picire

fuzzinator.reduce.Picire(sut_call, sut_call_kwargs, listener, ident, issue, work_dir, parallel=False, combine_loops=False, split_method='zeller', subset_first=True, subset_iterator='forward', complement_iterator='forward', jobs=4, max_utilization=100, encoding=None, atom='both', granularity=2, cache_class='ContentCache', cleanup=True, **kwargs)

Test case reducer based on the Picire Parallel Delta Debugging Framework.

Optional parameters of the reducer:

  • parallel, combine_loops, split_method, subset_first, subset_iterator, complement_iterator, jobs, max_utilization, encoding, atom, granularity, cache_class, cleanup

Refer to https://github.com/renatahodovan/picire for configuring Picire.

Note: This reducer is capable of detecting new issues found during the test reduction (if any).

Example configuration snippet:

[sut.foo]
#call=...
cost=1
reduce=fuzzinator.reduce.Picire
reduce_cost=4

[sut.foo.reduce]
parallel=True
jobs=4
subset_iterator=skip

function Picireny

fuzzinator.reduce.Picireny(sut_call, sut_call_kwargs, listener, ident, issue, work_dir, hddmin=None, parallel=False, combine_loops=False, split_method='zeller', subset_first=True, subset_iterator='forward', complement_iterator='forward', jobs=4, max_utilization=100, encoding=None, antlr=None, format=None, grammar=None, start=None, replacements=None, lang='python', hdd_star=True, flatten_recursion=False, squeeze_tree=True, skip_unremovable=True, skip_whitespace=False, build_hidden_tokens=False, granularity=2, cache_class='ContentCache', cleanup=True, **kwargs)

Test case reducer based on the Picireny Hierarchical Delta Debugging Framework.

Mandatory parameters of the reducer:

  • Either format or grammar and start must be defined.

Optional parameters of the reducer:

  • hddmin, parallel, combine_loops, split_method, subset_first, subset_iterator, complement_iterator, jobs, max_utilization, encoding, antlr, format, grammar, start, replacements, lang, hdd_star, flatten_recursion, squeeze_tree, skip_unremovable, skip_whitespace, build_hidden_tokens, granularity, cache_class, cleanup

Refer to https://github.com/renatahodovan/picireny for configuring Picireny.

Note: This reducer is capable of detecting new issues found during the test reduction (if any).

Example configuration snippet:

[sut.foo]
#call=...
cost=1
reduce=fuzzinator.reduce.Picireny
reduce_cost=4

[sut.foo.reduce]
hddmin=full
grammar=/home/alice/grammars-v4/HTMLParser.g4 /home/alice/grammars-v4/HTMLLexer.g4
start=htmlDocument
parallel=True
jobs=4
subset_iterator=skip