Académique Documents
Professionnel Documents
Culture Documents
Engin Deveci
Boazii University
Computer Engineering
Agenda
What is Software Reliability? Software Failure Mechanisms
Hardware vs Software
Computer Engineering
Boazii University
Computer Engineering
Computer Engineering
Computer Engineering
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Computer Engineering
Computer Engineering
Permanent:
Permanent failures occur for all input values.
Recoverable:
When recoverable failures occur the system recovers with or without operator intervention.
Unrecoverable:
the system may have to be restarted.
Cosmetic:
May cause minor irritations. Do not lead to incorrect results.
Eg. mouse button has to be clicked twice instead of once to invoke a GUI function.
Boazii University
Computer Engineering
The failure rate is observer-dependent No simple relationship observed between system reliability and the number of latent software defects. Removing errors from parts of software which are rarely used makes little difference to the perceived reliability. removing 60% defects from least used parts would lead to only about 3% improvement to product reliability. Reliability improvements from correction of a single error depends on whether the error belongs to the core or the non-core part of the program. The perceived reliability depends to a large extent upon how the product is used. In technical terms on its operation profile.
Boazii University
Computer Engineering
Computer Engineering
Boazii University
Computer Engineering
Both kinds of modeling techniques are based on observing and accumulating failure data and analyzing with statistical inference.
Boazii University
Computer Engineering
Usually made prior to development or test phases; can be used as early as concept phase
Usually made later in life cycle(after some data have been collected); not typically used in concept or development phases
TIME FRAME
Predict reliability at some Estimate reliability at future time either present or some future time
Software Reliability Modelling
Computer Engineering
Boazii University
Type 2 uncertainty:
reflects our lack of knowledge about the effect of fault removal.
When we fix a fault we are not sure if the corrections are complete and successful and no other faults are introduced Even if the faults are fixed properly we do not know how much will be the improvement to interfailure time.
Boazii University
Computer Engineering
Assumes:
all errors contribute equally to reliability growth highly unrealistic:
we already know that different errors contribute differently to reliability growth.
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Computer Engineering
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Example: (136 failures total): Failure Times (CPU seconds): 3, 33, 146, 227, 342, 351, 353,444, 556, 571, 709, 759, 836 ..., 88682. Data are grouped into sets of 5 and the observed intensity, cumulative failure distribution and mean failure times are computed, tabulated and plotted.
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Two common models are the "basic execution time model and the "logarithmic Poisson execution time model" (e.g. Musa et al. 1987).
Boazii University
Computer Engineering
where 0 is the initial intensity and 0 is the total expected number of failures (faults).
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Boazii University
Computer Engineering
where P is the present failure intensity, and F is the failure intensity objective. The additional execution time, , required to reach the failure intensity objective is
Boazii University
Computer Engineering
Boazii University
Computer Engineering
Statistical Testing
The objective is to determine reliability rather than discover errors. Uses data different from defect testing.
Boazii University
Computer Engineering
Statistical Testing
Different users have different operational profile:
i.e. they use the system in different ways formally, operational profile:
probability distribution of input
Computer Engineering
Statistical Testing
Determine the operational profile of the software:
This can be determined by analyzing the usage pattern.
Boazii University
Computer Engineering
Statistical Testing
Relies on using large test data set. Assumes that only a small percentage of test inputs:
likely to cause system failure.
Computer Engineering
Conclusions
Software reliability is a key part in software quality Software reliability improvement is hard There are no generic models. Measurement is very important for finding the correct model. Statistical testing should be used but it is not easy again Software Reliability Modelling is not as simple as described here.
Boazii University
Computer Engineering
Thank you.
Q&A
Boazii University
Computer Engineering