Correctness / Determinism / Verification
Kind: category
Record: architecture-category:correctness-determinism-verification
Canonical: Ontology
The Correctness / Determinism / Verification category holds 15 architecture principles.
Listed in Principle categories, after Control / Coordination / Centralization and before Portability / Infrastructure / Deployment.
Principle
- Determinism
- Predictability
- Referential Transparency
- Pure Functions
- Immutability
- Reproducibility
- Repeatability
- Correctness
- Formal Verification
- Specification-Based Testing
- Property-Based Testing
- Static Analysis
- Testability
- Validation
- Verification
Layer
Linked from
Correctness / Determinism / Verification
Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.
Relations diagram
flowchart LR
n_determinism["Determinism"]
n_predictability["Predictability"]
n_referential_transparency["Referential Transparency"]
n_pure_functions["Pure Functions"]
n_immutability["Immutability"]
n_reproducibility["Reproducibility"]
n_repeatability["Repeatability"]
n_correctness["Correctness"]
n_formal_verification["Formal Verification"]
n_specification_based_testing["Specification-Based Testing"]
n_property_based_testing["Property-Based Testing"]
n_static_analysis["Static Analysis"]
n_testability["Testability"]
n_validation["Validation"]
n_verification["Verification"]
n_determinism --> n_predictability
n_determinism --> n_reproducibility
n_predictability --> n_determinism
n_referential_transparency --> n_pure_functions
n_referential_transparency --> n_immutability
n_referential_transparency --> n_determinism
n_referential_transparency --> n_testability
n_pure_functions --> n_testability
n_pure_functions --> n_determinism
n_pure_functions --> n_referential_transparency
n_immutability --> n_predictability
n_reproducibility --> n_determinism
n_repeatability --> n_verification
n_repeatability --> n_predictability
n_correctness --> n_validation
n_formal_verification --> n_correctness
n_specification_based_testing --> n_correctness
n_property_based_testing --> n_correctness
n_testability --> n_pure_functions
n_validation --> n_correctness
n_verification --> n_correctnessDeterminism
- Kind: principle
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: function, process, build, test
- Layer: Computation Core
Predictability
- Kind: quality-attribute
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: API, module, runtime
- Layer: Computation Core
Referential Transparency
- Kind: principle
- Category: Correctness / Determinism / Verification
- Severity: contextual
- Scope: function, expression
- Layer: Computation Core
Pure Functions
- Kind: technique
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: function, domain logic
- Layer: Computation Core
Immutability
- Kind: principle
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: data, value object, concurrency
- Layer: Computation Core
Reproducibility
- Kind: quality-attribute
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: build, test, deployment, ML
- Layer: Computation Core
Repeatability
- Kind: quality-attribute
- Category: Correctness / Determinism / Verification
- Severity: mandatory
- Scope: test, build, process
- Layer: Computation Core
Correctness
- Kind: quality-attribute
- Category: Correctness / Determinism / Verification
- Severity: mandatory
- Scope: function, module, system
- Layer: Computation Core
Formal Verification
- Kind: activity
- Category: Correctness / Determinism / Verification
- Severity: contextual
- Scope: algorithm, protocol, critical system
- Layer: Computation Core
Specification-Based Testing
- Kind: activity
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: function, API, module
- Layer: Computation Core
Property-Based Testing
- Kind: activity
- Category: Correctness / Determinism / Verification
- Severity: recommended
- Scope: function, algorithm, parser, domain invariant
- Layer: Computation Core
Static Analysis
- Kind: mechanism
- Category: Correctness / Determinism / Verification
- Severity: mandatory
- Scope: codebase, build
- Layer: Computation Core
Testability
- Kind: quality-attribute
- Category: Correctness / Determinism / Verification
- Severity: mandatory
- Scope: class, module, service
- Layer: Computation Core
Validation
- Kind: activity
- Category: Correctness / Determinism / Verification
- Severity: mandatory
- Scope: input, behavior, requirement
- Layer: Computation Core
Verification
- Kind: activity
- Category: Correctness / Determinism / Verification
- Severity: mandatory
- Scope: implementation, system
- Layer: Computation Core