software metrics

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