---
name: "singledelta"
section: "1"
platform: "linux"
package: "delta"
version: "2006.08.03-13"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/singledelta"
---

# singledelta(1)

heuristic minimizer of interesting files

## 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)](/topformflat/1.md) 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)](/multidelta/1.md) 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)](/multidelta/1.md), [**topformflat**(1)](/topformflat/1.md)

Delta Debugging project \<http://www.st.cs.uni-sb.de/dd/\>
