# Static Analysis

> Reads structure and types for defects before execution

Record: `reasoning:technique-static-analysis`
Kind: technique
Canonical: https://banes-lab.com/ontology/reasoning#reasoning-technique-static-analysis

Listed in [Reasoning records](https://banes-lab.com/api/records/reasoning.md), after [Category Theory](https://banes-lab.com/records/reasoning/representation-category-theory.md) and before [Unit Testing](https://banes-lab.com/records/reasoning/technique-unit-testing.md).

## Mode

- [observation](https://banes-lab.com/records/reasoning/mode-observation.md)

## Principle ref

- [Static Analysis](https://banes-lab.com/records/architecture/static-analysis.md)

## Surfaces

- [numerical-correctness](https://banes-lab.com/records/reasoning/test-surface-numerical-correctness.md)
- [security-correctness](https://banes-lab.com/records/reasoning/test-surface-security-correctness.md)
- [configuration-correctness](https://banes-lab.com/records/reasoning/test-surface-configuration-correctness.md)

## Linked from

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
- [The modes](https://banes-lab.com/ontology/reasoning/the-modes.md)
- [The test surfaces](https://banes-lab.com/ontology/reasoning/the-test-surfaces.md)
