140 likes | 333 Views
Software Defects. What leads to what?. Introduced by. ERROR. Observed by. FAULT. FAILURE. Product defects. Defect = Fault or Failure i.e. Defect is either the cause of failure or the failure itself (as the effect of the fault). What constitutes failure. Failing product deadlines
E N D
What leads to what? Introduced by ERROR Observed by FAULT FAILURE
Product defects Defect = Fault or Failure i.e. Defect is either the cause of failure or the failure itself (as the effect of the fault)
What constitutes failure • Failing product deadlines • Failing product budget (cost) • Failing product quality
Defect removal costs(taken and adapted from software development data in Germany in the 90s) Require- ments Design Coding Component testing Integration testing System use 50% Fault Source 40% 10% 50% Fault Detection 10% 7% 5% 25% 3% KLm90 Per fault Cost KLm50 KLm25 Lm200 Lm200 Lm200
Availability Availability is the probability of getting system service at any given point in time. Availability = sys_uptime/(sys_uptime + sys_downtime) -or- Failure_hazard/(failure_hazard + repair_hazard) -or- z(t)/(z(t) + r(t))
Reliability Many defs… • Musa et al.: “The probability that a system, or a capability of a system, functions without failure for a specific time or number of natural units” • Sommerville: “The probability of failure-free operation for a specified environment for a given purpose”
Reliability facts • The more failures are observed and corrected the more reliability improves System usage must be clearly modelled • Reliability depends on how a system is used Reliability growth must be modelled • System failures occur randomly Failure must be modelled probabilistically
H/W vs S/W Failure Rates Failure rate Failure rate time time
Zero-Failure Testing (Motorola™) [ln(failures/(0.5 + failures))] * (hours-to-last-failure) ln[(0.5 + failures)/(test-failures + failures)] Based on the Brettschneider failure rate function (1989) [ ae-bt ]
Some measures MTTF: Mean time to failure The time between the system starts and failures MTTR: Mean time to repair The time a system is in repair MTBF: Mean time between failures The time between subsequent system failures
Diagrammatically x1 x2 x3 x4 x5 y1 y2 y3 y4 y4 z1 z2 z3 z4 MTTF = avg(xn) MTBF = MTTF + MTTR MTTR = avg(yn) A = MTBF/(1 - MTBF) MTBF = avg(zn) M = 1/(1 + MTTR) R = MTTF/(1 + MTTF)