0% found this document useful (0 votes)
149 views10 pages

Software and Hardware Reliability Insights

Software and hardware reliability are both concerned with the probability that a system will operate as required without failure for a specified period of time in a given environment. [1] Software reliability depends on fixing design faults over time through testing, while hardware reliability tends towards a constant value following the bathtub curve. [2,3] Reliability is measured through metrics like time to failure and failure rates. [5] Hardware reliability is ensured through tests like fault tree analysis, while software relies on techniques like defensive programming, fault detection, and error correcting codes. [6-8]

Uploaded by

Sandeep Patalay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views10 pages

Software and Hardware Reliability Insights

Software and hardware reliability are both concerned with the probability that a system will operate as required without failure for a specified period of time in a given environment. [1] Software reliability depends on fixing design faults over time through testing, while hardware reliability tends towards a constant value following the bathtub curve. [2,3] Reliability is measured through metrics like time to failure and failure rates. [5] Hardware reliability is ensured through tests like fault tree analysis, while software relies on techniques like defensive programming, fault detection, and error correcting codes. [6-8]

Uploaded by

Sandeep Patalay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 10

Software and Hardware Reliability

1
Software Reliability Definition

The probability that the software will;


operate as required (i.e., without fail),
for a specified time,
in a specified environment.

2
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

3
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

4
Fault, Error, Failure
(PERSON MAKES)
ENVIRONMENT
INPUT
MISTAKES
OPERATOR
CAN BE ATTRIBUTED TO POTENTIALLY
ONE OR MANY LEADS TO ZERO OR MANY OR

FAULTS

REVEALING
CAN BE ATTRIBUTED TO
AND MECHANISM
ONE OR MANY

LEADS TO ZERO OR MANY

ERRORS
CAN BE ATTRIBUTED TO
LEADS TO ZERO OR MANY
ONE OR MANY

FAILURE
5
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.

6
Ensuring Hardware Reliability
Hardware Reliability is ensured by conducting the
following tests:
• Fault Tree Analysis
• Failure Modes Effects and Criticality Analysis
• Failsafe Tests
• Fault Injection Tests
• PCB Trace Anaysis and Circuit Simulation
• Environmental Tests
7
Ensuring Software Reliability
Software Reliability is ensured by following the following Techniques:

• Defensive Programming
To produce programs which detect anomalous control flow, data flow
or data values during their execution and react to these in a redetermined
and acceptable manner.

• Fault Detection & Diagnosis


To detect faults in a system, which might lead to a failure, thus providing
the basisfor countermeasures in order to minimise the consequences of
failures.

8
• Error Detecting and Correcting Codes
To detect and correct errors in sensitive information.

• Diverse Programming
Detect and mask residual software design faults during execution of a
program, in order to prevent Safety critical failures of the system, and
to continue operation for high reliability.

• Software Error Effect Analysis


To identify software modules, their criticality; to propose means for
detecting software errors and enhancing software robustness; to
evaluate the amount of validation needed on the various software
components.
9
Software Reliability Tests
• Software Quality Audit
• Software Rule Checking
• Unit Testing
• Software Integration Tests
• Software/Hardware Integration Tests
• Fault Injection Tests
• System Validation

10

You might also like