SOFTWARE METRICS Software Metrics :Roadmap Norman E Fenton and Martin Neil Presented by Santhosh Kumar Grandai OVERVIEW • • • • • • What is Software Metric? About Software Metrics Regression Models Causal Models - Bayesian Belief Net(BBN) Why do we need Causal Model? Conclusion SOFTWARE METRIC • Metrics is Measurement. • Various Metrics on various Phases of life cycle model. • Purpose – To detect problems early in the software process. About Software Metrics.. • Over 30 years old. • Mid 1960’s – LOC used as the basis for measuring Programming productivity and Effort. • Has Two Components. 1. Component Concerned with defining the actual measures. 2. Component Concerned with how we collect,manage and use the measures. About Software Metrics… About Software Metrics…. • External Attributes - Ones interested to know about. • Internal Attributes - Control and Measure Directly. • To Predict Effort/Cost of development Process. • To Predict quality of software products. About Software Metrics and Regression Models • First Key Metric was Lines of code(LOC). • Quality Prediction - Defect Density • Quality and Effort Quality Product Size Effort/Cost REGRESSION MODELS • Does not support quantitative managerial decision making during software life cycle - No support for risk assessment - No support for risk reduction • Misunderstanding between cause and effect. • Does not consider causality,uncertainty,evidence. REGRESSION MODEL • An practical Example, - Data on car accidents show that Jan and Feb are the months will fewest fatalities. - An regression model is built from available data. Month Number Of Fatalities - No causal relationship. - Sensible decision about safest time to drive cannot be made. CAUSAL MODEL • An practical Example, Month Number of Journeys Weather Conditions Road Conditions Average Speed Number of fatalities CAUSAL MODEL • In Software Metrics - Dominated by Regression Models. - Need causal Models. Problem complexity size Effort schedule Product Quality Resource quality CAUSAL MODEL • Can give answers to questions - For a specification of this complexity,and given these limited resources,how likely I am achieve a product of suitable quality? - How much can I scale down the resources if I am prepared to put up with a product of specified quality?. • Regression models cannot. Analysis • We see that only defect counts are being used in measure of quality. Not true • Consider Hypothesis “Suppose you know that a large number of defects are found in a software module prior to release.Is it likely that this module will reveal many defects post-release?.” - Yes, Popularly believed. - Empirical Evidence shows it is an invalid hypothesis. Analysis Analysis • Modules with high pre – release faults had less post-release faults, - The amount of testing must be incorporated into any predictive module of defects. - Operational usage must also be incorporated. REGRESSION MODELS • Regression Models, - cannot consider resourcing constraints. - cannot handle uncertainty. - no cause and effect relationship. • Not suitable for risk assessment and reduction. CAUSAL MODEL • Causal models can handle, - Diverse process and product variables. - Genuine cause and effect relationship. - Empirical evidence and expert judgement. - Uncertainty. • It covers the crucial concepts missing from the classical regression-based approaches. BBN • Bayesian Belief Nets(BBN) is a type of causal model,which uses Bayesian probability. • BBN is a graphical network together with the associated set of probability tables. - Nodes represent Uncertain values. - Causal relationship. BBN • To predict defect counts for software modules. BBN BBN • For given Input pre-release defects(less than 10) and many post-release(between 30 and 40), Output is ‘very low’ amount of testing was done. • Given the Evidence of a variable BBN calculates the Probability of each state. BBN • Absence of BBN for a long time - No proper algorithm. - No software tool. • Hugin tool is used. BBN • Used to, - Provide safety or reliability arguments for critical systems. - Provide improved reliability predictions of prototype military vehicles. - Provide predictions of insurance risk and operational risk. • Drawback, - cannot be used in decision making in deployment of systems . -lacks political,financial,environmental criteria. - Multi Criteria Decision Aid(MCDA) deals with the above criteria. - Deployment of system – combination of two. BBN • Technology Transfer - Project managers are more likely to use this model for decision – making. - They do not understand the underlying theory. - Provide simple,configurable front ends. Conclusion • Statistical models do not provide decision – support for risk assessment and reduction. • Causal models like BBN do provide decision – support for risk assessment and reduction. • Organizations that collect basic metrics data and follow defined life-cycles,will be able to apply causal models effectively. References • Software Metrics : Roadmap,Norman E Fenton & Martin Neil,Computer Science Department,Queen Mary and Westfield College,London. • http://www.dcs.qmul.ac.uk/~norman/BBNs/B BNs.htm Thank you!!! Questions ?…
© Copyright 2026 Paperzz