---
name: "dustmite"
section: "1"
platform: "linux"
package: "dustmite"
version: "0.0.430-2.1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dustmite"
---

# dustmite(1)

a tool for minimizing D source code.

## NAME

dustmite - a tool for minimizing D source code.

## SYNOPSIS

**dustmite** \[*OPTION*\]... *PATH TESTER*

## DESCRIPTION

DustMite is a tool for minimizing D source code. Reducing C++ code also works quite well via --split \*.{c,cpp,h,hpp}:d.

- DustMite will parse the source code into a simple hierarchy, and attempt to shrink it by deleting fragments iteratively, as long as the result satisfies a user-specified condition.

  - PATH should be a directory containing a clean copy of the file-set to reduce.

  A file path can also be specified. NAME.EXT will be treated like NAME/NAME.EXT. TESTER should be a shell command which returns 0 for a correct reduction, and anything else otherwise.

## OPTIONS

- **--force**

  Force reduction of unusual files

- **--reduce-only** MASK Only reduce paths glob-matching MASK

  (may be used multiple times)

- **--no-remove** REGEXP Do not reduce blocks containing REGEXP

  (may be used multiple times)

- **--strip-comments**

  Attempt to remove comments from source code.

- **--coverage** DIR

  Load .lst files corresponding to source files from DIR

- **--obfuscate**

  Instead of reducing, obfuscate the input by replacing words with random substitutions

- **--keep-length**

  Preserve word length when obfuscating

- **--split** MASK:MODE

  Parse and reduce files specified by MASK using the given splitter. Can be repeated. MODE must be one of: files, lines, words, d

- **--no-redirect**

  Don't redirect stdout/stderr streams of test command.

- **-j\[N\]**

  Use N look-ahead processes (8 by default)

- **--help**

  Show this message

### Less interesting options:

- **--strategy** STRAT

  Set strategy (careful/lookback/pingpong/indepth/inbreadth)

- **--dump**

  Dump parsed tree to DIR.dump file

- **--dump-html**

  Dump parsed tree to DIR.html file

- **--times**

  Display verbose spent time breakdown

- **--cache** DIR

  Use DIR as persistent disk cache (in addition to memory cache)

- **--trace**

  Save all attempted reductions to DIR.trace

- **--no-save**

  Disable saving in-progress results

- **--no-optimize**

  Disable tree optimization step (may be useful with **--dump**)

## SEE ALSO

The full documentation for **dustmite** can be found on the GitHub wiki: https://github.com/CyberShadow/DustMite/wiki
