Software has become a vital and integral part of most systems today. When a system can lead to injury, death, the destruction or loss of vital equipment, or damage to the environment, system safety, including software safety, is paramount. The discipline of software safety is the systematic approach to identifying, analyzing, and tracking software mitigation and control of hazards and hazardous functions (e.g., data and commands) to ensure safer software operation within a system. Project managers, systems engineers, software engineers, software assurance personnel, and system safety personnel all play a part in creating and ensuring a safe system.
Software must be evaluated for its contribution to the safety of the system during the concept phase and prior to the acquisition or planning of the software. Software is safety-critical if it meets at least one of the following criteria:
The discipline of Software Safety functions as part of the overall System Safety program and engages system safety personnel, systems engineers, software developers, software assurance personnel, and project management. A successful Software Safety program requires continuous coordination and open communication between all participants.
At NASA GSFC, the Office of Systems Safety and Mission Assurance (OSSMA) is responsible for System Safety (Code 302, Safety and Reliability) and Software Assurance (Code 303, Assurance Management Office). Systems engineering and software development is provided by multiple divisions within Code 400, Code 500, Code 600, Code 900, and their support contractors.
A Software Safety program begins during the concept and formulation phase through a preliminary hazard analysis (PHA). For projects that are beyond the concept phase, the software still needs to be evaluated for its contribution to, or impairment of, the safety of the system.
To get started:
Coming soon!
The NASA Safety Manual, NPR 8753.3, specifies the methodology for determining whether a system is safety-critical. The NASA Software Safety Standard, NASA-STD-8719.13, defines whether the software is safety-critical and describes the activities necessary to ensure that safety is designed into the software. This standard also specifies the software safety requirements, activities, data, and documentation necessary for the acquisition or development of software in a safety-critical system.
NOTE: This standard is applicable to the following software when it is included in a safety-critical NASA system:
The NASA Software Safety Guidebook, NASA-GB-8719.13, is designed to help create a set of tailored activities and analyses that will meet the requirements of the Software Safety Standard, NASA-STD-8719.13. The guidebook concentrates on software acquisition and development and the associated tasks and analyses. While the NASA Software Safety Standard addresses the "who, what, when, and why", the NASA Software Safety Guidebook addresses the "how to".
More information on Software Safety Training will be available soon.