mix argus.pins (Panoptes v0.13.0)

Copy Markdown View Source

Writes test/argus/analysis_inputs.exs: for every built-in analysis, the relations Souffle's transformed program actually reads.

mix argus.pins           # rewrite the pins
mix argus.pins --check   # exit 1 if they differ from the current program

The pins are the unit of incremental work — a consumer re-solves an analysis when any relation in its set changes — so a widening is a latency regression and a narrowing is the point of a change; either belongs in a diff. Argus.DlDeclarationsTest fails until the file is regenerated, and the diff of that file is the review.

Summary

Functions

The input set of every built-in analysis, as Souffle reports it.

The pins file's text for an input map.

Functions

current()

@spec current() :: %{required(atom()) => [String.t()]}

The input set of every built-in analysis, as Souffle reports it.

render(inputs)

@spec render(%{required(atom()) => [String.t()]}) :: String.t()

The pins file's text for an input map.