- Year not given · 4 marks
Why software reliability matters
Short answer
Software reliability is the probability of failure-free operation; it is important because users expect it, failures are costly, data may be lost, safety-critical failures can kill, and reputation/legal liability suffer. It is often more important than efficiency and hard to add later.
Explain why software reliability is important.
Software reliability is the probability that software operates without failure in a specified environment for a specified time. It is one of the most important quality attributes, often more important than efficiency.
Why reliability is important (Sommerville):
- Users expect it: people rely on software in daily life (banking, mobile payment, booking). Users will not trust or use a system that fails often, even if it has many features.
- Cost of failure is very high: a failure can cost much more than the system itself. For example, a failure in a bank's core system can stop all transactions for hours.
- Unreliable systems may lose information: data is often worth more than the software that processes it. Loss or corruption of customer records is expensive to recover from.
- Safety-critical systems: in medical, aviation, railway and nuclear systems, a failure can cause injury or death. The Therac-25 radiation machine overdosed patients because of software faults.
- Business reputation and legal liability: repeated failures damage the developer's reputation and can lead to lawsuits and penalties.
- Hard to add later: unreliable software is expensive to fix after delivery, because faults are found late and every fix risks new faults.
Reliability vs. efficiency: computers are fast and cheap, so a slower program is usually acceptable, but an unreliable one is not. Inefficiency can be improved by better hardware, while unreliability cannot.
Example: the Ariane 5 rocket was destroyed in 1996 because of an unhandled numeric overflow in reused software, causing a loss of hundreds of millions of dollars.
For these reasons reliability requirements (such as MTTF or availability) are specified, measured during testing, and used to decide when the software is ready for release.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Software reliability and reliability models · Software Engineering, chapter 9 · asked 2×
- Software reliability; waterfall vs prototyping; embedded software · Instrumentation II, chapter 9
- Increasing reliability of embedded real-time software · Instrumentation II, chapter 9
- Compare software models; propose a fourth model · Instrumentation II, chapter 9