Critical system

Developers of critical systems are naturally conservative, preferring to use older techniques whose strengths and weaknesses are understood, rather than new techniques which may appear to be better, but whose long-term problems are unknown.

For example, formal mathematical methods of software development have been successfully used for safety and security critical systems.

One reason why these formal methods are used is that it helps reduce the amount of testing required.

Likewise, critical systems are further distinguished between fail-operational and fail safe systems, according to the tolerance they must exhibit to failures:[3] Safety critical systems deal with scenarios that may lead to loss of life, serious personal injury, or damage to the natural environment.

This is often due to the interruption of service caused by the system being unusable.