softperson

Automating creativity

Features

Feature preview

Diagnostics that explain behavior, not just syntax.

NStatic is designed to surface the symbolic facts behind a warning: which call path reached it, which assumptions mattered, and what values were known at the point of failure.

Exception analysis

Infer conditions that guarantee or permit exceptions, including framework parameter validation and custom exception messages when available.

NStatic execution path view highlighting a possible error path
Interprocedural traces

Follow warnings through method calls and present a call stack that makes cross-method reasoning understandable.

NStatic call stack view
Symbolic locals

Inspect locals and object state in terms of original inputs, conditionals, method summaries, and simplified expressions.

NStatic locals window with symbolic values
Loop reasoning

Represent loop updates as symbolic functions or recurrences where possible, instead of only unrolling a fixed number of times.

NStatic loop locals showing symbolic values for loop-created objects

Specifications

NStatic's planned specification syntax uses analysis comments so teams can add assertions, assumptions, old-value references, and breakpoints while preserving normal C# source compatibility.

C# code with NStatic specification comments highlighted
Specification comments are treated as analysis syntax by NStatic and ordinary comments by the C# compiler.

assert and assume

Check facts or introduce path facts for the analyzer to use later.

old and result

Relate post-state values to method-entry values and return values.

breakpoint

Create symbolic inspection points without running the program on concrete inputs.