SAFETY-CRITICAL SOFTWARE DETERMINATION
4.1 Determination Process
As systems increase in complexity, software has become a much more important component in system design and operation. Software controls much of the equipment around us, including equipment and systems that can harm us. If that system can lead to injury, death, loss of major equipment, or damage to the environment, then software safety becomes vitally important.
When a system is determined to be safety-critical (e.g., through a preliminary hazard analysis), the use of software within that system must be analyzed. The key for the analysis at this stage is to look at the entire system, and see what roles the software has within it. One cannot just look at the software components in isolation, but rather look at all of the system components (including the end-user of the system). Software cannot be divorced from the system where it resides. Software safety analyses are performed first to determine if the software is safety-critical, and later to evaluate how well the software safety requirements are defined, designed, and implemented in the system..
Replaced/Superseded by document(s)
This Standard specifies the software safety activities, data, and documentation necessary for the acquisition or development of software in a safety-critical system. Safety-critical systems that include software must be evaluated for software’s contribution to the safety of the system during the concept phase, and prior to the start, or in the early phases, of the acquisition or planning for the given software. Unless the evaluation proves that the software is not involved in the system safety, this Standard is to be followed. See section 1.2 for guidance, and section 4.1 for requirements (and definition), on the determination of safety-critical software.
The purpose of this Standard is to provide requirements to implement a systematic approach to software safety as an integral part of the project’s overall system safety program, software development, and software assurance processes. It describes the activities necessary to ensure that safety is designed into software that is acquired or developed by NASA and that safety is maintained throughout the software and system life cycle.