# The modes

> Each reasoning mode is listed with the practice it names and the techniques that work in it.

Page: Ontology · Reasoning
Canonical: https://banes-lab.com/ontology/reasoning#the-modes

Each reasoning mode is listed with the practice it names and the techniques that work in it.

### observation

Details

Mode
identifying patterns or examples

Question
What is there?

Techniques
[static-analysis](https://banes-lab.com/records/reason/technique-static-analysis.md), [runtime-validation](https://banes-lab.com/records/reason/technique-runtime-validation.md), [profiling](https://banes-lab.com/records/reason/technique-profiling.md), [heap-analysis](https://banes-lab.com/records/reason/technique-heap-analysis.md), [monitoring](https://banes-lab.com/records/reason/technique-monitoring.md)

### description

Details

Mode
defining objects

Question
How can it be characterised?

Techniques
[tracing](https://banes-lab.com/records/reason/technique-tracing.md)

### comparison

Details

Mode
finding similarities and differences

Question
How is it similar or different?

Techniques
[unit-testing](https://banes-lab.com/records/reason/technique-unit-testing.md), [integration-testing](https://banes-lab.com/records/reason/technique-integration-testing.md), [end-to-end-testing](https://banes-lab.com/records/reason/technique-end-to-end-testing.md), [differential-testing](https://banes-lab.com/records/reason/technique-differential-testing.md), [contract-testing](https://banes-lab.com/records/reason/technique-contract-testing.md), [assertion-checking](https://banes-lab.com/records/reason/technique-assertion-checking.md)

### classification

Details

Mode
grouping by properties

Question
Which kind is it?

Techniques
[property-based-testing](https://banes-lab.com/records/reason/technique-property-based-testing.md)

### abstraction

Details

Mode
removing irrelevant details

### generalisation

Details

Mode
extending examples into principles

### formalisation

Details

Mode
expressing ideas symbolically

### explanation

Details

Mode
identifying mechanisms

Question
Why is it this way?

Techniques
[model-checking](https://banes-lab.com/records/reason/technique-model-checking.md)

### deduction

Details

Mode
deriving necessary consequences

### construction

Details

Mode
building objects that satisfy rules

### proof

Details

Mode
establishing certainty

### prediction

Details

Mode
inferring future states

Question
What comes next?

Techniques
[load-testing](https://banes-lab.com/records/reason/technique-load-testing.md), [stress-testing](https://banes-lab.com/records/reason/technique-stress-testing.md)

### optimisation

Details

Mode
selecting preferred solutions

### intervention

Details

Mode
modifying systems

Question
How can it be changed?

Techniques
[fault-injection](https://banes-lab.com/records/reason/technique-fault-injection.md), [chaos-testing](https://banes-lab.com/records/reason/technique-chaos-testing.md)

### creation

Details

Mode
generating new structures

Question
Can new examples be produced?

Techniques
[fuzz-testing](https://banes-lab.com/records/reason/technique-fuzz-testing.md)

### reflection

Details

Mode
discovering the principles behind the examples

Question
What general principles emerge?

Techniques
[deterministic-replay](https://banes-lab.com/records/reason/technique-deterministic-replay.md)

## Links to

- [Static Analysis](https://banes-lab.com/records/reason/technique-static-analysis.md)
- [Runtime Validation](https://banes-lab.com/records/reason/technique-runtime-validation.md)
- [Profiling](https://banes-lab.com/records/reason/technique-profiling.md)
- [Heap Analysis](https://banes-lab.com/records/reason/technique-heap-analysis.md)
- [Monitoring](https://banes-lab.com/records/reason/technique-monitoring.md)
- [Tracing](https://banes-lab.com/records/reason/technique-tracing.md)
- [Unit Testing](https://banes-lab.com/records/reason/technique-unit-testing.md)
- [Integration Testing](https://banes-lab.com/records/reason/technique-integration-testing.md)
- [End To End Testing](https://banes-lab.com/records/reason/technique-end-to-end-testing.md)
- [Differential Testing](https://banes-lab.com/records/reason/technique-differential-testing.md)
- [Contract Testing](https://banes-lab.com/records/reason/technique-contract-testing.md)
- [Assertion Checking](https://banes-lab.com/records/reason/technique-assertion-checking.md)
- [Property Based Testing](https://banes-lab.com/records/reason/technique-property-based-testing.md)
- [Model Checking](https://banes-lab.com/records/reason/technique-model-checking.md)
- [Load Testing](https://banes-lab.com/records/reason/technique-load-testing.md)
- [Stress Testing](https://banes-lab.com/records/reason/technique-stress-testing.md)
- [Fault Injection](https://banes-lab.com/records/reason/technique-fault-injection.md)
- [Chaos Testing](https://banes-lab.com/records/reason/technique-chaos-testing.md)
- [Fuzz Testing](https://banes-lab.com/records/reason/technique-fuzz-testing.md)
- [Deterministic Replay](https://banes-lab.com/records/reason/technique-deterministic-replay.md)
