SOFTWARE METRICS Software Metrics Roadmap Norman E Fenton

  • Slides: 27
Download presentation
SOFTWARE METRICS Software Metrics : Roadmap Norman E Fenton and Martin Neil Presented by

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

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

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

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…

About Software Metrics…. • External Attributes - Ones interested to know about. • Internal

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).

About Software Metrics and Regression Models • First Key Metric was Lines of code(LOC). • Quality Prediction - Defect Density • Quality and Effort Product Size Quality Effort/Cost

REGRESSION MODELS • Does not support quantitative managerial decision making during software life cycle

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

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 Weather Conditions Average Speed Number of Journeys

CAUSAL MODEL • An practical Example, Month Weather Conditions Average Speed Number of Journeys Road Conditions Number of fatalities

CAUSAL MODEL • In Software Metrics - Dominated by Regression Models. - Need causal

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

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

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

Analysis • Modules with high pre – release faults had less post-release faults, -

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.

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. -

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

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 • To predict defect counts for software modules.

BBN

BBN

BBN • For given Input pre-release defects(less than 10) and many post-release(between 30 and

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. -

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. -

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

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

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

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 ? …

Thank you!!! Questions ? …