NAME¶
singledelta - heuristic minimizer of interesting files
SYNOPSIS¶
singledelta -test=
test-script [options] [
initial-file]
DESCRIPTION¶
Delta assists you in minimizing "interesting" files subject to a test
of their interestingness. A common such situation is when attempting to
isolate a small failure-inducing substring of a large input that causes your
program to exhibit a bug.
You supply
singledelta with
- •
- a test shell script which decides if its input file is
"interesting" ( test-script) and
- •
- an initial interesting input file (initial-file or standard
input).
Delta uses heuristics to find a sub-file of your input file that is still
"interesting" according to your test.
Delta has a notion of the granularity of the file: the smallest atomic elements
of which the file is seen as a sequence. The default is the line granularity:
in this mode, delta will attempt to delete entire lines, but will never try
deleting a smaller element than that. You can filter a program through
topformflat(1) to produce a file where the line-granularity only goes
to a specified nesting depth (if your file is in a nested language).
multidelta(1) does this for you.
OPTIONS¶
- -test=test-script
- Use test-script as the test program. This option is mandatory.
The test program accepts a single argument, the name of the candidate file
to test. It is run within a directory containing only that file, and it
can make temporary files/directories in that directory. It should return
zero for a candidate that exhibits the desired property, and nonzero for
one that does not.
- -suffix=suffix
- Set filename suffix to suffix. The default is ".c".
- -dump_input
- Dump the contents of the initial file after reading it.
- -cp_minimal=file
- Copy the minimal successful test to file.
- -granularity=line
- Use lines as the granularity. This is the default.
- -granularity=top_form
- Use C top-level forms as the granularity. This currently only works with
CIL output.
- -log=file
- Log main events to file.
- -quiet
- Do not produce any output.
- -verbose
- Produce more verbose output.
- -in_place
- Overwrite initial-file with inputs.
- -help
- Print out usage information.
NOTES¶
The name
singledelta is Debian-specific. The upstream name of this
program is simply
delta.
SEE ALSO¶
multidelta(1),
topformflat(1)
Delta Debugging project <
http://www.st.cs.uni-sb.de/dd/>