Software Quality Management Unit – 3 Roy Antony Arnold G Asst. Prof./CSE Asst Prof /CSE
• Software reliability models are when it is available to the customers.• The criterion variable under study is the number of y defects in specified time intervals (weeks, months, etc.), or the time between failures.• Such an estimate is important for two reasons: – (1) It is an objective statement of the quality of the product d t – (2) It is a resource planning tool for the software maintenance phase phase.
• Reliability models can be broadly classified into two categories: and (Conte et al., 1986).• A static model uses other attributes of the project or program modules to estimate the number of defects in the software software. General Form : The number of defects (y) is dependant on the attributes (x) of the The number of defects (y) is dependant on the attributes (x) of the product and the process by which it is produced, plus some error (e) due to unknowns which inherently exist.• A dynamic model usually based on statistical distributions uses model, distributions, the current development defect patterns to estimate end‐ product reliability.• Dynamic Models are classified in two categories – those that model the entire development process (Rayleigh Model) – those that model the back‐end testing phase (Exponential Model and Reliability Growth Models) and Reliability Growth Models)
• The Rayleigh model is a parametric model in the sense that it is based on a specific statistical di ib i i i l distribution. It i a d is dynamici reliability model.• When the parameters of the statistical distribution are estimated based on the data from a software project, projections about th d f t rate of th project can b b t the defect t f the j t be made based on the model.
• The Rayleigh model is a member of the family of the .• One of its marked characteristics is that the tail of its probability density function approaches zero asymptotically, but never reaches it.• Weibull distributions are used for predicting reliability and probability distribution• Two standard functions for graphing Weibull
• Rayleigh is a special case of the Weibull Rayleigh is a special case of the Weibull where the shape parameter (m) equals 2:• The formulas represent a standard distribution.• The total area under the curve is 1. 7
g p pThe defect rate observed during the development process ispositively correlated with the defect rate in the field. (Fig.) Assuming the defect removal effectiveness remains unchanged, then a h h curve ( higher (more d f defects) d ) during d l development means a h h higher defect injection rate and hence a higher field defect rate. 8
Given the same error injection rate if more defects are rate,discovered and removed earlier then fewer will remain inlater stages and the field quality will be better. g q y– In the fig. the areas under the curves are the same but the curves peak at varying points. Curves that peak earlier have smaller areas at the tail, the GA phase. at the tail the GA phase In short “Do it right the first time ” short, time.” This means that if each step of the development process is executed properly with minimum errors, the end products quality will be good.
Given the same error injection rate if more defects are rate,discovered and removed earlier then fewer will remain inlater stages and the field quality will be better. g q y– In the fig. the areas under the curves are the same but the curves peak at varying points. Curves that peak earlier have smaller areas at the tail, the GA phase. at the tail the GA phase
• Most statistical software packages support Most statistical software packages support Weibull Distributions.• Applications can be developed due to the l b d l dd h clearly defined algorithms for Weibull.• COTS (Commercial Off The Shelf) products can also be used: can also be used: 11
• Accuracy of model estimates estimates.• Input data must be accurate and reliable.• To establish high Predictive Validity, and empirical validity must be established. established• The validity of software reliability models . A certain model may work well for a specific organization or development structure, but not for others.• No universally good software reliability model exists. 12
• High‐level Design Review (I0), Low‐level Design Review (I1), Code g g ( ), g ( ), Inspection (I2), Unit Test (UT), Component Test (CT), System Test (ST), and General Availability Phase (GA)