SOFTWARE METRICS Software Metrics :Roadmap Norman E Fenton and Martin Neil Presented by Santhosh...
-
Upload
dorcas-harrison -
Category
Documents
-
view
220 -
download
0
Transcript of SOFTWARE METRICS Software Metrics :Roadmap Norman E Fenton and Martin Neil Presented by Santhosh...
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
Effort/Cost
Product Size
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.
Month Number OfFatalities
CAUSAL MODEL
• An practical Example,Month
Weather Conditions
Road Conditions
Number ofJourneys
Average Speed
Number of fatalities
CAUSAL MODEL
• In Software Metrics - Dominated by Regression Models.
- Need causal Models.
Problem complexity
size
Effortschedule
Resourcequality
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
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/BBNs.htm
Thank you!!!
Questions ?…