12
Software Reliabilty 1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Embed Size (px)

Citation preview

Page 1: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 1

Software Reliability

Advanced Software Engineering

COM360University of Sunderland © 1998

Page 2: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 2

Software Reliability Definition

The probability that the software will;

  operate as required (i.e., without fail),

  for a specified time,

  in a specified environment.

Page 3: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 3

Software Reliability - features

• failures in software are design faults,

• reliability during test changes continually(new problems are found as old ones are fixed / new code is never perfect)

• phenomenon of software reliability growth

• environment is important (platform/inputs) - new envt. may require s/w retest

Page 4: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 4

Hardware Reliability - features

• failure is usually due to physical deterioration

• hardware reliability tends, more than software, towards a constant value,

• hardware reliability usually follows the ‘bathtub’ principle,

• again, environment is important; a proportion of hardware faults are design faults

Page 5: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 5

Reliability - General (1)

• Of all software quality characteristics, reliability is consistently identified as the most important.

• Reliability, for both hardware and software, is a probability - SYSTEM reliability can be derived from combining the hardware and software reliabilities.

• Reliability is directly related to the number of failures. [ p(R)=1- p(F) ]

Page 6: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 6

Reliability - General (2)

• Reliability measures are much more useful than fault measures - from the user perspective.

• Measures of faults/defects are developer oriented.

• Change of environment (operating platform, operational data profile) changes reliability.

Page 7: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 7

Fault, Error, Failure (defined by BS5760 part8: 1998)

• Faulta defect in a software component which, when triggered,

causes one or many errors

• Errora discrepancy between its actual state and the ‘correct state’

which, if it propagates, means that the component ceases to perform as required

• Failure the component ceases to perform as required

Page 8: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 8

Fault, Error, Failure

FAULTS

ERRORS

FAILURE

ENVIRONMENT

OPERATOR

INPUT

OR

REVEALINGMECHANISMAND

LEADS TO ZERO OR MANY

LEADS TO ZERO OR MANY

POTENTIALLYLEADS TO ZERO OR MANY

MISTAKES

(PERSON MAKES)

CAN BE ATTRIBUTED TO ONE OR MANY

CAN BE ATTRIBUTED TO ONE OR MANY

CAN BE ATTRIBUTED TO ONE OR MANY

(This slide from BS5760 Part 8: 1998)

Page 9: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 9

Reliability Measures

When we talk of reliability measures the irony is that we invariably talk about failure measures. There are four general ways of measuring failures against time;

time of failure, interval between failures, cumulative failures experienced up to a given time, failures experienced in a time interval.

Page 10: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 10

Availability & Maintainability

• Availability – is the probability that the software is operating

at a given time. It is equal to the mean time to failure divided by the mean time between failures.

• Maintainability – is the mean time to repair the software and

restore to working order.

Page 11: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 11

Uses of S/w Reliability Measurement

• System Reliability evaluation

• Monitoring operational performance

– e.g., decisions on when to go for enhancement

• Evaluation of test status / test schedule

• Management of new features and design changes

Page 12: Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998

Software Reliabilty 12

Reliability Model Types

• Phenomenological – model the characteristics that influence

reliability and work on those (have to prove the level of influence - empirical data)

• Parametric (Mathematical) – basic assumptions (faults cause failures)– empirical data– examples: Jelinksi-Moranda, Littlewood, etc.