Reliability Engineering Essay Example

Student’s name

Section A: Software reliability

As recognised by Crow and Larry (2005), software reliability has become an important facet of software quality. Beginning with reliability, Crow and Larry look at the term as the probability of failure-free system or operation for a given period of time in a specified environment for a given function. On the other hand, reliability becomes stochastic and dynamic aspect. It is the probability of failure free operation of a computer program. This is also estimated within a given period of time. Based on the definitions above, there are some terms that need further scrutiny. Beginning with ‘failure’, it needs to mentioned that the term do not make the definition reasonable as failure corresponds to unexpected run-time behavior that the user of the software can observe. In other words, if the user cannot notice the failure it ceases from being a failure.

Secondly, the term ‘probability’ is not predictable in the sense that it does not factor in fault consequences. It cannot happen that all faults are serious. Finally, the term ‘time’ and ‘specified environment’ denotes quite different aspects depending on the software and or system and the user(s) of the specified software and or system. These terms make reliability not to be defined objectively since reliability measurements quoted out of context cannot be meaningful. Conclusively, though the definition has stood the test of time, it does not qualify as a reasonable.

Just like its definition, the process of improving software reliability is multifaceted. The first method is reducing the number of faults. Hecht (2004) classifies this method into three different groups. The first group deals with fault avoidance where engineers prevent the introduction of faults when the software is being introduced. The second group is the detection of the fault. This aims at detecting faults provided that the coding of that software has been developed. This method focuses on the product obtained instead of the process. The third group is the tolerance of the fault. This involves giving controlled response for the faults that have not been covered. The assumption made by software developers regarding this method is the fact that knowledge about introducing faults improves the chances of success of those tools and techniques. The problem with this assumption is that faults can be introduced in every phase and can also be propagated between phases.

According to recommendation given by Leicht (1995), it is not possible developing reliable software free from faults. Recognising this aspect, the second method of improving software reliability will be to implement in the process of developing one, techniques aimed at finding and eliminating the faults. This is also related with the implementation of fault tolerance. The two suggestions are pegged on the assumption that it is not possible to guarantee that there are no faults remaining after the development of software. Though Leicht (1995) also suggests the use of operational profiles, it needs to be noted that operational profile is restricted to the definition of the expected pattern of software usage.

Thirdly, reliability can be improved when software faults occurring in the most frequently used parts of the software are chucked and removed. There are key assumptions attached to this method. First, that when faults with serious consequences are removed, so will be the most important objective. Secondly, study by Hecht (2004) shows that removing about 60% of software defects will improve it by 4%.

Section B: Summary of key ideas and assumptions in Duane Model of reliability growth

Duane presented failure data of a number of systems during their development programs. While scrutinising the data, he noted that cumulative MTBF against cumulated time of operation fell on straight line when the two variables are plotted on log-log paper. This is what gave Duane a two parameter model (Leicht, 1995). Using this model requires that there be clear definition of procedures for estimating parameters as a function of equipment characteristics. It is also important noting that while parameters that have been set by Duane can be given estimation for a given data set using curve-fitting techniques, there is no developed theory for the reliability growth model that can provide a basis for prior estimation.

is Reliability Engineering 7Reliability Engineering 6
at time Reliability Engineering 5Reliability Engineering 4
, the observed mean (average) time between failures, Reliability Engineering 3Reliability Engineering 2 is the number of failures by timeReliability Engineering 1Reliability Engineering
The above explanation was put by Duane in the following expression: If

Reliability Engineering 8

One major assumption regarding the Duane Model of reliability growth is that the existing relationship between MTBF, that is, mean time between failure and test time will result in straight line when the experiment is plotted on log-log paper. This means that the model may not be effective or the resultant effect cannot be there if the design changes (in most cases fixes) are not incorporated as soon as after a failure and before testing resumes.


Crow, D. and Larry H., «Reliability Growth Projection from Delayed Fixes,» Proceedings, Annual Reliability and Maintainability Symposium, 2005, pp. 84-89.

Hecht, H, ‘Software Reliability in ‘Systems Reliability and Failure Prevention’ by 2004. Artech House, USA.

Leicht, R.D. ‘Reliability Data’‘Reliability Analysis for Engineers. An Introduction’ by Leicht, RD 1995. Oxford Science Publications, OUP.

Meth, Martin A., «Practical `Rules’ for Reliability Test Programs,» ITEA Journal of Test and Evaluation, Vol. 14, No. 4, Dec 93/Jan 94. d. «Programmes for Reliability Growth,» IEC 1014, 1999.