NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Implementing Software Safety in the NASA EnvironmentUntil recently, NASA did not consider allowing computers total control of flight systems. Human operators, via hardware, have constituted the ultimate safety control. In an attempt to reduce costs, NASA has come to rely more and more heavily on computers and software to control space missions. (For example. software is now planned to control most of the operational functions of the International Space Station.) Thus the need for systematic software safety programs has become crucial for mission success. Concurrent engineering principles dictate that safety should be designed into software up front, not tested into the software after the fact. 'Cost of Quality' studies have statistics and metrics to prove the value of building quality and safety into the development cycle. Unfortunately, most software engineers are not familiar with designing for safety, and most safety engineers are not software experts. Software written to specifications which have not been safety analyzed is a major source of computer related accidents. Safer software is achieved step by step throughout the system and software life cycle. It is a process that includes requirements definition, hazard analyses, formal software inspections, safety analyses, testing, and maintenance. The greatest emphasis is placed on clearly and completely defining system and software requirements, including safety and reliability requirements. Unfortunately, development and review of requirements are the weakest link in the process. While some of the more academic methods, e.g. mathematical models, may help bring about safer software, this paper proposes the use of currently approved software methodologies, and sound software and assurance practices to show how, to a large degree, safety can be designed into software from the start. NASA's approach today is to first conduct a preliminary system hazard analysis (PHA) during the concept and planning phase of a project. This determines the overall hazard potential of the system to be built. Shortly thereafter, as the system requirements are being defined, the second iteration of hazard analyses takes place, the systems hazard analysis (SHA). During the systems requirements phase, decisions are made as to what functions of the system will be the responsibility of software. This is the most critical time to affect the safety of the software. From this point, software safety analyses as well as software engineering practices are the main focus for assuring safe software. While many of the steps proposed in this paper seem like just sound engineering practices, they are the best technical and most cost effective means to assure safe software within a safe system.
Document ID
19940028526
Acquisition Source
Legacy CDMS
Document Type
Conference Paper
Authors
Wetherholt, Martha S.
(NASA Lewis Research Center Cleveland, OH, United States)
Radley, Charles F.
(NASA Lewis Research Center Cleveland, OH, United States)
Date Acquired
September 6, 2013
Publication Date
May 1, 1994
Subject Category
Quality Assurance And Reliability
Report/Patent Number
E-8870
NASA-TM-106597
NAS 1.15:106597
Report Number: E-8870
Report Number: NASA-TM-106597
Report Number: NAS 1.15:106597
Meeting Information
Meeting: Safety Through Quality Conference
Location: Old Windsor
Country: United Kingdom
Start Date: June 6, 1994
End Date: June 7, 1994
Sponsors: Real Time Associates, Ltd.
Accession Number
94N33032
Funding Number(s)
CONTRACT_GRANT: NAS3-26764
PROJECT: RTOP 323-88-03
Distribution Limits
Public
Copyright
Public Use Permitted.
No Preview Available