# `mix reach.trace`
[🔗](https://github.com/elixir-vibe/reach/blob/v2.2.0/lib/mix/tasks/reach.trace.ex#L1)

Traces data flow, taint paths, and forward/backward slices.

    mix reach.trace --from params --to write!
    mix reach.trace --from input --to System.cmd
    mix reach.trace --variable user --in MyApp.Accounts.create/1
    mix reach.trace --backward lib/my_app/accounts.ex:45
    mix reach.trace --forward lib/my_app/accounts.ex:45

## Options

  * `--from` — taint source pattern
  * `--to` — sink pattern
  * `--variable` — trace a variable name
  * `--in` — restrict variable tracing to a function
  * `--backward` — compute a backward slice from a target
  * `--forward` — compute a forward slice from a target
  * `--format` — output format: `text`, `json`, `oneline`
  * `--graph` — render slice graph where supported
  * `--limit` — text display limit for paths/rows; also caps taint paths unless `--all` is set
  * `--all` — show all text rows/paths and collect all taint paths

---

*Consult [api-reference.md](api-reference.md) for complete listing*
