4
Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426 NITTTR, Chandigarh EDIT -2015 100 Optimal Selection of Software Reliability Growth Model-A Study 1 Monika Sharma, 2 Dalbir Kaur 1 Asst. Professor, 2 Student 1,2 UIET Panjab University, Chandigarh [email protected], [email protected] AbstractPeople use software and sometime software fails.so they try to quantify software reliability and try to understand how and why it fails.For this purpose so many software Reliability models have been developed to estimate the defects in the software while delivering it to the customer.Till now so many software Reliability models have been developed,but main issue is that it remain largely unsolved that how to calculate software reliability efficiently.In everycircumstance we cannotuse one model because no single model can completely represent all features.This paper describes the circumstances and criteria under which particular model can be selected. Keywordssoftware reliability; SRGM; model criteria;survey;comparative analysis; performance evaluation. INTRODUCTION Software Reliability is an important concept in the field of Software engineering.Software Reliability helps to attribute software maintainability together with performance,quality and functionality of software etc.Software Reliability is defined as a probability at which a system would operate without failure under the conditions in a given environment for a given period of time. In other words we can say, Software Reliability can be defined as a measure of how well the users think the system operates according to its specifications. There are followingtwo uncertainties which render any inaccurate reliability measurement: (a)Uncertainty: Some time the customer doesn’t know about the proper usability of system. (b)Uncertainty: Some time we don’t know about the fault removal effects. Much time we are not able to sure about the corrections that may or may not be complete and successful after the fixing of a fault.Some time it introduced other faults. Some time we have lack of knowledge about the improvement to IFT(inter failure time) that will be occur after the faults are properly fixed. Software Reliability Model is based mostly on data from the testing phase, after development is virtually complete. The basic “goal” of Reliability Theory is to predict when the system will fail. e.g. How can we use the existing data of time between failures {t1, t2, - - - -, tn} used for next failure to predict time, ti , where i>n? (The data from testing provide a fairly good indication of reliability) Due to the nature of software, no general accepted mechanisms exist to predict software reliability.We need importantempirical observation and experience.Good engineering methods can largely improve software reliability.To improve and measure software reliability,software testing plays an important role. Databases with software failure rates are available but numbers should be used with caution and adjusted based on observationand experience.The testing teams or programmer used so many software fault removal and detection methods and techniques so that highly reliable software system can be achieve. SGRM (Software Reliability Growth Model) play an important role for applying these methods and techniques because SGRM help in providing useful knowledge and information for tester and developers during the debugging phase for predict and estimate software reliability of system under test and they also help during software operational phase for measure the failure data.For a software to operate accurately and reliability it should undergo testing and debugging.It can be consuming as well as costly process and the manager want to know accurate knowledge about the process result that how it help in grow software reliability so that their budgets and projects are effectively manage. If their budget and projects are effectively managed,then the manager is hoped that reliability of software will grow very well.Various SGRM can be used to make more reliable software. THE CONCEPT OF RELIABILITY GROWTH When the system is tested so that faults can be removed to change the reliability of system, we can use a mathematical natured model that is called growth model.It is used for measure reliability of system by extrapolating from used current data which is depending on the testing procedure.The improvement in software reliability is thatit gives results from correcting faults in the software. No single model is universally applicable.Applications are not independent on reliability growth. Various growth models fit on different observed data.so that the model is selected according to data that is best fit on. SGRM By the study of software reliability Models we can say that failure which is a random process are result of two processes-first is fault introduction and second is fault activation which is occur after input state selection. By nature it is random process. Various Software Reliability Growth models have been developed and the most appropriate model should be chosen by fitting observed reliability may be described as a form of probability distribution of random process value in time at each point. Failureof probability distribution measurement of one of these models plays an important role in the development of SGRMs.So we can say that when we select the input state SRGM is activated and this is random natured process. In this paper we will describe following software reliability Models which will be explain below. Goel-Okumoto Imperfect Debugging Model

Optimal Selection of Software Reliability Growth Model-A Study

Embed Size (px)

DESCRIPTION

People use software and sometime software fails.so they try to quantify software reliability and try to understand how and why it fails.For this purpose so many software Reliability models have been developed to estimate the defects in the software while delivering it to the customer.Till now so many software Reliability models have been developed,but main issue is that it remain largely unsolved that how to calculate software reliability efficiently.In everycircumstance we cannotuse one model because no single model can completely represent all features.This paper describes the circumstances and criteria under which particular model can be selected.

Citation preview

Page 1: Optimal Selection of Software Reliability Growth Model-A Study

Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426

NITTTR, Chandigarh EDIT -2015 100

Optimal Selection of Software ReliabilityGrowth Model-A Study

1Monika Sharma, 2Dalbir Kaur1Asst. Professor, 2Student

1,2UIET Panjab University, [email protected], [email protected]

Abstract—People use software and sometime software fails.sothey try to quantify software reliability and try to understandhow and why it fails.For this purpose so many softwareReliability models have been developed to estimate the defectsin the software while delivering it to the customer.Till now somany software Reliability models have been developed,butmain issue is that it remain largely unsolved that how tocalculate software reliability efficiently.In everycircumstancewe cannotuse one model because no single model cancompletely represent all features.This paper describes thecircumstances and criteria under which particular model canbe selected.

Keywords—software reliability; SRGM; modelcriteria;survey;comparative analysis; performance evaluation.

INTRODUCTIONSoftware Reliability is an important concept in the field ofSoftware engineering.Software Reliability helps toattribute software maintainability together withperformance,quality and functionality of softwareetc.Software Reliability is defined as a probability at whicha system would operate without failure under theconditions in a given environment for a given period oftime. In other words we can say, Software Reliability canbe defined as a measure of how well the users think thesystem operates according to its specifications. There arefollowingtwo uncertainties which render any inaccuratereliability measurement:

(a)Uncertainty: Some time the customer doesn’t knowabout the proper usability of system.

(b)Uncertainty: Some time we don’t know about the faultremoval effects.

Much time we are not able to sure about the correctionsthat may or may not be complete and successful after thefixing of a fault.Some time it introduced other faults. Sometime we have lack of knowledge about the improvement toIFT(inter failure time) that will be occur after the faults areproperly fixed. Software Reliability Model is based mostlyon data from the testing phase, after development isvirtually complete. The basic “goal” of Reliability Theoryis to predict when the system will fail.e.g. How can we use the existing data of time betweenfailures {t1, t2, - - - -, tn} used for next failure to predicttime, ti , where i>n? (The data from testing provide afairly good indication of reliability)Due to the nature of software, no general acceptedmechanisms exist to predict software reliability.We needimportantempirical observation and experience.Goodengineering methods can largely improve softwarereliability.To improve and measure softwarereliability,software testing plays an important role.Databases with software failure rates are available but

numbers should be used with caution and adjusted basedon observationand experience.The testing teams orprogrammer used so many software fault removal anddetection methods and techniques so that highly reliablesoftware system can be achieve. SGRM (SoftwareReliability Growth Model) play an important role forapplying these methods and techniques because SGRMhelp in providing useful knowledge and information fortester and developers during the debugging phase forpredict and estimate software reliability of system undertest and they also help during software operational phasefor measure the failure data.For a software to operateaccurately and reliability it should undergo testing anddebugging.It can be consuming as well as costly processand the manager want to know accurate knowledge aboutthe process result that how it help in grow softwarereliability so that their budgets and projects are effectivelymanage. If their budget and projects are effectivelymanaged,then the manager is hoped that reliability ofsoftware will grow very well.Various SGRM can be usedto make more reliable software.

THE CONCEPT OF RELIABILITY GROWTHWhen the system is tested so that faults can be removed tochange the reliability of system, we can use a mathematicalnatured model that is called growth model.It is used formeasure reliability of system by extrapolating from usedcurrent data which is depending on the testingprocedure.The improvement in software reliability is thatitgives results from correcting faults in the software. Nosingle model is universally applicable.Applications are notindependent on reliability growth. Various growth modelsfit on different observed data.so that the model is selectedaccording to data that is best fit on.

SGRMBy the study of software reliability Models we can say thatfailure which is a random process are result of twoprocesses-first is fault introduction and second is faultactivation which is occur after input state selection. Bynature it is random process. Various Software ReliabilityGrowth models have been developed and the mostappropriate model should be chosen by fitting observedreliability may be described as a form of probabilitydistribution of random process value in time at each point.Failureof probability distribution measurement of one ofthese models plays an important role in the development ofSGRMs.So we can say that when we select the input stateSRGM is activated and this is random natured process. Inthis paper we will describe following software reliabilityModels which will be explain below.

Goel-Okumoto Imperfect Debugging Model

Page 2: Optimal Selection of Software Reliability Growth Model-A Study

Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426

101 NITTTR, Chandigarh EDIT-2015

Goel –Okumoto Nonhomogeneous Poisson ModelMusa–Okumoto Logarithmic Poisson Execution

Jelinski Moranda ModelDelayed S Model

Inflection S ModelGoel-Okumoto Imperfect Debugging modelIf weassume perfect debugging, then in this model if wefix a defect, it may inject new defects. So it is called error-prone because in this process activation of fix defectoccurs.Goel-Okumotoovercomes the limitations of thisassumption because they purposed it as a debugging modelwhich is imperfect. The hazard function of the Goel-Okumoto model during time interval from the (m-1)st andthe nth failures is given-( ) = [ − ( − 1)] (1)where X is Fault number at time when testing start.pis probability function of imperfect debugging.λ- Rate of failure at each fault.Mean value Function-( ) = (1 – [ − ])k> 0, λ > 0 (2)Goel-Okumoto Nonhomogeneous Poisson ModelWhen the more concerned are given to the modeling of theobservation to calculate how much failure in a giveninterval during testing is called NHPP(Non HomogeneousPoisson process) model. SoGoel and okumoto purpose theobservation of the number of failure in a cumulativemanner at time t,so X(t) can be modeled as a non-homogenous Poisson process(NHPP), because in whichPoisson with failure rate are time dependent. So Goel andokumoto called it is a type of exponential distribution ofthe failure rate which is time dependent in nature.Mean value function-( ) = ( 1 – [ −〖 〗 ]) (3)k> 0, λ> 0, > 0Where m(t) is observed failure which is expected at timet.Lambda density of failure function, k is the expectedfailure number and c is the detection rate of fault at eachfault. So we can say that NHPP(non-homogenous Poissonprocess) is a straightforward application of the exponentialform of model.Musa–Okumoto Logarithmic Poisson Execution TimeModelSimilar to the NHPP modelthe Musa-Okumoto model isalso assumed as a nonhomogeneous Poisson processbecause in this model at a certain time the number offailures is observed. So it has a different value of MVF(mean value function).In musa-okumoto model one assumption is present that isearlier fixes have greater effect on the reliability ofsoftware than later ones. Two main components exist inthis model:

Calendar timeExecution time

The mean value function-( ) = ∗ (1 + ) (4)k> 0, λ> 0λ is failure rate initiallyk is reduction rate of each failure in the normalizedintensity.

Jelinski Moranda ModelMany times we see that if we repair an error, it does notgive satisfactory performance. It means to say thatreliability of software does not improve to a specified leveland by a constant amount. So we can say that umber oferror present in a system is assumed to be proportional tofixing of an error due to which there is an improvement inthe reliability. In software reliability research J-M model isearliest one. So it is type of a model in which time betweenfailure exist. So whenever testing start it assumes Xsoftware faults .The nature of failure is random and forcause testing failure, the contribution of all faults is equal.It considers that for each failure there is perfect fix andtime for fix is negligible. Each fi increase software failurerate by same amount. The hazard function at time mi, thetime between the (m-1)st and nth failure is given by( ) = ℎ[ − ( − 1)] (5)Where X - defect number of software when testing starth is constant of proportionalityMean value function- ( ) = 0 [1 − (– ℎ )] (6)

The Delayed ModelIn 1983, Yamada argue about defect detection nature oftesting process. According to him, it is also defect isolationwith defect detection. So Delayed S shaped RG model isdeveloped for such a process in which growth curve isobserved. It is observed by cumulative number of thedefects which is detected is S shaped. It is also a form ofNHPP with having different value of mean function.Mean value function-( ) = (1 − (1 + ) ∗ [− ]) (7)

k>0, λ>0Where time is tλ is rate of error detectionK is the number of total defects

Inflection S ModelAfter the development of delayed S shaped Model Ohba in1984 proposed one more S shaped Model that is called asinflection S reliability GM.He describe that this modelhave mutual dependency between detected defects whichexplain the phenomena of failure detection.So in thismodel if it detects more failure, it will cause more andmore undetected failure.Based on the NHPP its mean valuefunction is

( ) = ∗ ( [– ]) )( ( )∗ [ ] (8)

ψ( r) =( )(9)

k> 0, λ> 0, > 0

Where time is tLambdais rateof error detectionm is the inflection factork is number oftotal defectsAt the beginning of period when testing is start at that timetesting is start because at that time tester become familiarwith the system that time the inflection model and delayedmodel consider as accounting for the period of learning.

There are following Models assumptions-

Page 3: Optimal Selection of Software Reliability Growth Model-A Study

Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426

NITTTR, Chandigarh EDIT -2015 102

When testing is start there are X software faults which isunknown.

The failure is Random in nature –There is independenttime in between failure.

For cause a failure the contribution of all faults are equal.There is negligible time for fix.

For each failure fixes are perfect; during correction no newfaults are introduced.

CRITERIA FOR MODEL EVALUTION

Applicability: For software product which are all different,there is applicability of Model’s degree for e.g.- structure,

function, size.Capability: In the planning s/w project which is underdevelopment model is able to estimate the satisfactory

accurate which is needed by software engineer, managerand user.

AssumptionsQuality:From the viewpoint of consistencywhich is logically follow the plausibility of assumptions

and model can easily met assumptions.Predictive validity: For the specified period of time modelis capable to predict the failure behaves and total number

of defects which is based on Model’s current data.Simplicity : In following aspects model should be simple

that is-For collect data it should be inexpensive and simple

Concept wise simple and doesn’t need background withextensive mathematical form for development of the

software.

V.COMPARISION OF SGRM MODELS

COMPARISIONSUMMARYTABLE FOR SGRM MODELS

Name of ModelType ofModel MVF (mean value function) Model selection criteria Limitations

1.Goel-OkumotoImperfect Debugging

model-

Concave ( ) = (1 – [ − ])K > 0, λ> 0

If failure detection is anexponentially decaying rate

function.

Injection of newdefect after fixingan old defect. It is

an error proneactivity.

2.Goel-OkumotoNonhomogeneousPoisson Model-

Concave ( ) = ( 1 – [ − ]),k> 0, λ> 0, > 0

Ifat the beginning thefailure intensity of softwareslightly increases and thenstart to decrease.

ExponentialDistribution

followed by rate offailure.

3.Musa–OkumotoLogarithmic PoissonExecution Time Model

Concave ( ) = ∗ (1 + )k> 0, λ> 0

If failure rate reduction isdue to repair action which

is follow early failure.

Instructionexecution time is

smaller with respectto execution time in

between failure.

4.Jelinski MorandaModel

Concave ( ) = 0 [1 − (– ℎ )] If the current fault data orcontent of the program isproportional to the S/Wfailure.

The failure israndom in natureand increment inreliability is in

irregular manner.

5.The Delayed S Model- S shaped ( ) = (1 − (1 + ) ∗ [− ])k>0,λ>0

If the failure rate initiallyincrease and later

exponentially decays.

Introduction of newindependent faultsduring debugging

Process.

6.Inflection S model S shaped( ) = k∗ [– ]( ) ∗ [ ]

, ( ) =k> 0, λ> 0, > 0

Ifthe mutual dependencyin between faults of a

program and due to moredetection of failure, it cause

more detection ofundetected failure.

Some faults areremoved after then

other faults aredetected.

CONCLUSIONThis paper has attempted to lay down different SGRMs(softwareReliability Growth models).With the help ofSGRMs models a characterization of the softwaredevelopment process is done and practitioners can easilymake predictions about the reliability of the software infuture which is under development. Some models workbetter than others depending on the application area andoperating characteristics.We discuss about six SGRMsmodel in this paper.No single model is universallyapplicable. Models are applied according to differentconditions and environment in which they fit. A

comparison table is provided for detailed summary aboutmodels.In the table, modeltypes,mean value functions(MVF), their selection criteria and limitations arediscussed. Every model has some limitations which can beimproved.So it can beconcluded that an appropriate modelis selected according to some selection criteria under aparticular environmental condition.

REFERENCES1) Goel, A.L. “Software Reliability Models: Assumptions,Limitations,

and Applicability,” IEEE Trans. Software Engg. Vol SE-11, No 12,1985 Dec, pp. 1411-1423.

2) Mohd. Anjum et. al. , Analysis and Ranking of Software ReliabilityModels Based on Weighted Criteria Value, I.J.InformationTechnology and Computer Science, 2013, 02, pp. 1-14.

Page 4: Optimal Selection of Software Reliability Growth Model-A Study

Int. Journal of Electrical & Electronics Engg. Vol. 2, Spl. Issue 1 (2015) e-ISSN: 1694-2310 | p-ISSN: 1694-2426

103 NITTTR, Chandigarh EDIT-2015

3) Shanmugam, Latha, and Lilly Florence. "A comparison of parameterbest estimation method for software reliability models." InternationalJournal of Software Engineering & Applications 3, no. 5 (2012): pp.91-102.

4) Musa, John D., and Kazuhira Okumoto. "A logarithmic Poissonexecution time model for software reliability measurement." InProceedings of the 7th international conference on Softwareengineering,. IEEE Press, 1984,pp. 230-238.

5) Asad, Ch Ali, Muhammad Irfan Ullah, and M. J. Ur-Rehman. "Anapproach for software reliability model selection." In ComputerSoftware and Applications Conference, 2004. COMPSAC 2004.Proceedings of the 28th Annual International,IEEE, 2004, pp. 534-539.

6) Ohba, Mitsuru. "Software reliability analysis models." IBM Journalof research and Development 28, no. 4 (1984): pp. 428-443.

7) Schneidewind, Norman F. "Software reliability model with optimalselection of failure data." Software Engineering, IEEE Transactionson 19, no. 11 (1993): pp.1095-1104.

8) Malaiya, Yashawant K., Naixin Li, Jim Bieman, Rick Karcich, andBob Skibbe. "The relationship between test coverage and reliability."In Software Reliability Engineering, 1994. Proceedings., 5thInternational Symposium on. IEEE, 1994,, pp. 186-195.

9) Yamada, Shigeru, Mitsuru Ohba, and Shunji Osaki. "S-shapedreliability growth modeling for software error detection." Reliability,IEEE Transactions on 32, no. 5 (1983): pp.475-484.

10) Gupta, Ajay, Digvijay Choudhary, and Suneet Saxena. "SoftwareReliability Estimation using Yamada Delayed S Shaped Model underImperfect Debugging and Time Lag‖." International Journal ofComputer Applications 23, no. 7 (2011): pp.0975-0982.

11) Lyu, Michael R. Handbook of software reliability engineering. Vol.222. CA: IEEE computer society press, 1996.