Awesome Reviewers checks + prompts

Symbolic execution

Explores program paths with symbolic inputs and a solver to find inputs that violate an assertion.

V1031 technique
tactic Formal verification and model checking
not detectable from CI configuration

Sub-techniques

2

IDNameDescription
V1031.001Bounded model checkingUnroll loops to a bound and check all paths (CBMC).
V1031.002Contract checkingSearch for inputs that break a function's pre- and post-conditions (CrossHair).

Craft it

  1. Pick small pure functions with clear contracts.
  2. Write contracts as assertions or type annotations.
  3. Run with a time budget per function in CI.

Reverse engineer it

Signs that a codebase already runs this technique, and where to read how it is configured.

  • CBMC harnesses, crosshair config or contract decorators in code.

Open-source packages

3