Software Safety Analysis to Identify Critical Software Faults in Software-Controlled Safety-Critical Systems
Modern systems are increasingly software intensive because of the progress of technology and theproliferation of computers in everyday life. Computers control everything possible from microwave ovens to complex weapon systems. However, software can have a severe impact on the safety of systems, as some high profile accidents like Therac-25 and Ariane5 have shown. Despite the risks, software increasingly is making its way into safety-critical systems. A general purpose software engineering process is insufficient by itself to produce safe and reliable software. While traditional testing and other dynamic analysis techniques are best for uncovering functional errors they are inadequate whenever a computer-based system can cause injury or death. Therefore, software for safety-critical systems must deal with the hazards identified by safety analysis in order to make the system safe, risk-free and fail-safe. Certain critical software faults in critical systems can result in catastrophic consequences such as death, injury or environmental harm. The focus of this paper is a new approach to software safety analysis based on a combination of two existing fault removal techniques. A comprehensive software safety analysis involving a combination of Software Failure Modes and Effects Analysis (SFMEA) and Software Fault Tree Analysis (SFTA) is conducted on the software functions of the critical system to identify potentially hazardous software faults. A prototype safety-critical system - Railroad Crossing Control System (RCCS), incorporating a microcontroller and software to operate the train on a track circuit is described.
Keywordssoftware safety safety-critical systems software faults software safety analysis
Unable to display preview. Download preview PDF.
- 1.Lutz, R.R.: Software Engineering for Safety: a Roadmap. In: Proceedings of the Conference on The Future of Software Engineering, Limerick, Ireland, June 04-11, pp. 213–226 (2000)Google Scholar
- 2.Knight, J.C.: Safety Critical Systems: Challenges and Directions. In: Proceedings of the 24th International Conference on Software Engineering (ICSE), Orlando, Florida (2002)Google Scholar
- 4.Gleick, J.: The New York Times Magazine (December 1, 1996)Google Scholar
- 5.Gray, D.M.: Frontier Status Report #203 (May 19, 2000), http://www.asi.org
- 8.IEEE STD 1012, IEEE Standard for Software Verification and Validation Plans, The Institute of Electrical and Electronics Engineering, Inc. USA (1986)Google Scholar
- 9.Leveson, N.G.: Safeware: System Safety and Computers. Addison-Wesley (1995)Google Scholar
- 10.Herman, D.S.: Software Safety and Reliability Basics: Software Safety and Reliability: Techniques, Approaches, and Standards of Key Industrial Sectors, ch. 2. Wiley-IEEE Computer Society Press (2000)Google Scholar
- 11.EN50128 Railway Applications: Software for Railway Protection and Control Systems. CENELECGoogle Scholar
- 12.DO-178B/ED-12B Software Considerations in Airborne Systems and Equipment Certification, RTCA, EUROCAE (December 1992)Google Scholar
- 13.IEEE Std. 610.12-1990, Standard Glossary of Software Engineering TerminologyGoogle Scholar
- 14.Tribble, A.C., et al.: Software Safety Analysis of a Flight Guidance System. In: Proceedings of the 21st Digital Avionics Systems Conference (DASC 2002), Irvine, California, October 27-31 (2002)Google Scholar