Chapter 8: Software Safety

Overview

Not that long ago, software safety was not a hot topic. Certainly, the safety of space flight software was important and the defense industry was interested, at times, in software safety, but the general public gave no more thought to software safety than to the safety of their tap water. Users presumed that software was safe as long as it had been debugged and performed pretty much as expected. Besides, even if someone's bank messed up his or her checking account because of erroneous software, it was deemed a nuisance, not a catastrophe.

However, actual software-related catastrophes began occurring, such as a train crash due to faulty signal control software, the death of a cancer patient because of failed radiation limiting software, and so on. Spectacular failures like the space probe that flew to the sun and the Mars lander that crashed, both due to simple coding errors, were also reported.

Software safety is an issue that is growing in importance as more and more of our lives are directly or indirectly affected by computers and software. With software an integral part of everything from wristwatches and automobile dashboards to nuclear power plants and medical devices, we are increasingly at personal risk from unsafe software.

IEEE Standard 610.12 defines critical software as "software whose failure could have an impact on safety or could cause large financial or social loss."

The standard defines safety-critical software as software that falls into one or more of the following categories:

  • Software whose inadvertent response to stimuli, failure to respond when required, response out-of-sequence, or response in combination with other responses can result in an accident.

  • Software that is intended to mitigate the result of an accident.

  • Software that is intended to recover from the result of an accident.

The demand for safety-critical software has increased significantly in the last few years. Aircraft, such as the Boeing 777, now employ fly-by-wire controls where computers, and not humans, are in direct control of the flight surfaces. Automobiles have become rolling systems of distributed computing that controls the engine and power train, break system, and other critical components. To avoid failure in safety-critical areas, software developers now need to pay close attention to the various aspects of software criticality and safety.



Practical Guide to Software Quality Management
Practical Guide to Software Quality Management (Artech House Computing Library)
ISBN: 1580535275
EAN: 2147483647
Year: 2002
Pages: 137
Authors: John W. Horch

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net