It’s no secret that software safety is extremely important because devices often fail due to the absence of software-based control systems.
Safety is a property of a system that reflects the system’s ability to operate, normally or abnormally, without danger of causing human injury or death and without damage to the system’s environment.
Often software safety and reliability are thought of as being one in the same. However, while safety and reliability are related, they are distinct. Reliability is concerned with conformance to a given specification and delivery of service. Safety is concerned with ensuring system cannot cause damage irrespective of whether or not it conforms to its specification. System reliability is essential for safety but is not enough.
In safety-critical systems, software safety takes on even more importance. Examples of safety-critical systems would be control and monitoring systems in aircraft, process control systems in chemical manufacture, automobile control systems such as braking and engine management systems.
Essentially there are two levels of safety criticality:
- Primary safety-critical systems: embedded software systems whose failure can cause the associated hardware to fail and directly threaten people.
- Secondary safety-critical systems: systems whose failure results in faults in other (socio-technical) systems, which can then have safety consequences.
Experts in this field point out that software has been built into more and more products and systems over the years and has taken on more and more of the functionality of those systems.
The main problem with using the traditional system safety method on software is that the probability of software failure is not measurable or even easily estimated.
Traditional system safety uses a combination of probability and severity to rate the risk of each hazard. Software does not “fail” after it is completed. What happens is that latent defects in the original product assert themselves later in the life of the product, potentially causing safety problems.
Consequently, many feel that the best alternative approach to software safety is to use the techniques of Software Reliability Engineering to develop estimates of the reliability of a piece of software as it is going through the development process.
Want to learn more? Tonex offers Software Safety Training, a 3-day course that covers all aspects of Software Safety focusing on philosophies and methods in software safety and its primary objectives.
Additionally, Tonex offers several more courses in Software Safety including:
—Software Safety Course for Managers (2 days)
—Software Safety Programming and Software Coding Standards (2 days)
—Software Safety Training Workshop (2 days)
—Software Safety, Hazards Analysis and Risk Management Training Workshop (3 days)
—Software System Safety Engineering Training (3 days)
For more information, questions, comments, contact us.