A safety-critical system is designed to lose less than one life per billion (109) hours of operation.
Safety-critical systems are a concept often used together with the Swiss cheese model to represent (usually in a bow-tie diagram) how a threat can escalate to a major accident through the failure of multiple critical barriers.
The standard approach is to carefully code, inspect, document, test, verify and analyze the system.
Another approach uses formal methods to generate proofs that the code meets requirements.
[12] All of these approaches improve the software quality in safety-critical systems by testing or eliminating manual steps in the development process, because people make mistakes, and these mistakes are the most common cause of potential life-threatening errors.