- Asked 2/5
- 2070 Chaitra (old course) · 5 marks
- 2067 Ashadh (old course) · 4 marks
Software errors and their impact on cost
Short answer
A software error is a human mistake that creates a fault, which may cause a failure. The later an error is found the higher the fix cost: roughly 1x at requirements, 3-6x at design, 10x at coding, 15-40x at testing, and 30-100x after release.
Define software errors and their impact (on cost) in terms of software engineering.
A software error is a human mistake made while specifying, designing or coding software (for example, misreading a requirement or writing < instead of <=). The error introduces a fault (defect or bug) into a work product, and when that faulty code is executed it may cause a failure, where the system's behaviour differs from what is required.
Error (human mistake) -> Fault (defect in code/doc)
-> Failure (wrong behaviour)
Types of errors
- Requirements errors: missing, ambiguous or wrong requirements.
- Design errors: wrong algorithm, poor interfaces, wrong data structures.
- Coding errors: logic, syntax, boundary and initialisation mistakes.
- Documentation and configuration errors: wrong manuals, wrong build or version.
Impact on cost
The most important point is that the later an error is found, the more it costs to fix. An error found after release may need the specification, design, code, tests and documentation all changed, followed by regression testing and redeployment. Typical relative costs (Boehm, Pressman):
| Phase where error is fixed | Relative cost |
|---|---|
| Requirements | 1 |
| Design | 3–6 |
| Coding | 10 |
| Testing | 15–40 |
| After release (operation) | 30–100 or more |
Other cost impacts:
- Rework cost: a large share of project effort (often 30–50%) is spent on rework.
- Testing cost: more errors mean more test cycles and regression testing.
- Maintenance cost: corrective maintenance, patches and customer support.
- Failure cost: penalties, lost business, legal claims and damage to reputation. In safety-critical systems errors can cause loss of life; the Ariane 5 rocket was lost in 1996 because of a data conversion overflow in reused software.
- Schedule cost: delays in delivery, which also raise cost.
Because of this, software engineering uses error prevention and early detection: clear requirements, reviews and inspections, prototyping, and testing in every phase. Money spent on finding errors early (cost of prevention and appraisal) is much less than the cost of failures found by users.
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Short note: component-based software engineering · Software Engineering, chapter 6
- Objectives of FTR; cleanroom software engineering · Software Engineering, chapter 9
- Why program inspections find errors · Software Engineering, chapter 7
- Software reliability and reliability models · Software Engineering, chapter 9 · asked 2×
- Software crisis · Software Engineering, chapter 1
- Short note: software safety · Software Engineering, chapter 7
- Short note: Impact of engineering profession · Engineering Professional Practice, chapter 1
- Libraries, system software, languages, OO · Multimedia System, chapter 7
- Compare software models; propose a fourth model · Instrumentation II, chapter 9
- Impact of technology on society · Engineering Professional Practice, chapter 1 · asked 3×