280 likes | 556 Views
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
E N D
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…. • 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. - No causal relationship. - Sensible decision about safest time to drive cannot be made. Number Of Fatalities Month
Month Number of Journeys Weather Conditions Road Conditions Average Speed Number of fatalities CAUSAL MODEL • An practical Example,
CAUSAL MODEL • In Software Metrics - Dominated by Regression Models. - Need causal Models. Problem complexity size Resource quality schedule Effort Product 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 • 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 • 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/BBNs.htm
Thank you!!! Questions ?…