Top Banner
1 Introducing Bayesian Nets Introducing Bayesian Nets in AgenaRisk in AgenaRisk An example based on An example based on Software Defect Software Defect Prediction Prediction
58

1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Apr 01, 2015

Download

Documents

Yadiel Rudge
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

1

Introducing Bayesian Nets in Introducing Bayesian Nets in AgenaRiskAgenaRisk

An example based on An example based on Software Defect PredictionSoftware Defect Prediction

Page 2: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Typical Applications

• Predicting reliability of critical systems

• Software defect prediction• Aircraft accident traffic risk• Warranty return rates of

electronic parts• Operational risk in financial

institutions• Hazards in petrochemical

industry

Page 3: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Typical Applications

• Predicting reliability of critical systems

• Software defect prediction• Aircraft accident traffic risk• Warranty return rates of

electronic parts• Operational risk in financial

institutions• Hazards in petrochemical

industry

Page 4: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Typical Applications

• Predicting reliability of critical systems

• Software defect prediction• Aircraft accident traffic risk• Warranty return rates of

electronic parts• Operational risk in financial

institutions• Hazards in petrochemical

industry

Page 5: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Typical Applications

• Predicting reliability of critical systems

• Software defect prediction• Aircraft accident traffic risk• Warranty return rates of

electronic parts• Operational risk in financial

institutions• Hazards in petrochemical

industry

Page 6: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Typical Applications

• Predicting reliability of critical systems

• Software defect prediction• Aircraft accident traffic risk• Warranty return rates of

electronic parts• Operational risk in financial

institutions• Hazards in petrochemical

industry

Page 7: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Typical Applications

• Predicting reliability of critical systems

• Software defect prediction• Aircraft accident traffic risk• Warranty return rates of

electronic parts• Operational risk in financial

institutions• Hazards in petrochemical

industry

Page 8: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Bayesian Net for predicting air traffic incidents

Page 9: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Detailed Example

• What follows is a demo of a simplified version of a Bayesian net model to provide more accurate predictions of software defects

• Many organisations worldwide have now used models based around this one

Page 10: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Predicting software defects

Operational defects

The number of operational defects (i.e. those found by customers) is what

we are really interested in

predicting

Page 11: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual Defects

Operational defects

We know this is clearly dependent on the number of residual defects.

Predicting software defects

Page 12: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual Defects

Operational defectsOperational usage

But it is also critically dependent on the amount of operational usage. If you do not use the system you will find no defects irrespective of the number there.

Predicting software defects

Page 13: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual Defects

Defects Introduced

Operational defectsOperational usage

Predicting software defects

The number of residual defects is determined by the number you introduce during development….

Page 14: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual DefectsDefects found and fixed

Defects Introduced

Operational defectsOperational usage

Predicting software defects

…minus the number you successfully find and fix

Page 15: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual DefectsDefects found and fixed

Defects Introduced

Operational defectsOperational usage

Obviously defects found and fixed is dependent on the number introduced

Predicting software defects

Page 16: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual Defects

Problemcomplexity

Defects found and fixed

Defects Introduced

Operational defectsOperational usage

The number introduced is influenced by problem complexity…

Predicting software defects

Page 17: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual Defects

Problemcomplexity

Defects found and fixed

Defects IntroducedDesign processquality

Operational defectsOperational usage

….and design process quality

Predicting software defects

Page 18: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Residual DefectsTesting Effort

Problemcomplexity

Defects found and fixed

Defects IntroducedDesign processquality

Operational defectsOperational usage

Finally, how many defects you find is influenced not just by the number there to find but also by the amount of testing effort

Predicting software defects

Page 19: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

Here is that very simple model with the probability distributions shown

Here is that very simple model with the probability distributions shown

Page 20: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

We are looking at an individual software component in a system

We are looking at an individual software component in a system

Page 21: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

The prior probability distributions represent our uncertainty before we enter any specific information about this component.

The prior probability distributions represent our uncertainty before we enter any specific information about this component.

Page 22: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

So the component is just as likely to have very high

complexity as very low

Page 23: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

and the number of defects found and fixed in testing is in a wide range where the median value

is about 20.

Page 24: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

As we enter observations about the component the probability distributions update

As we enter observations about the component the probability distributions update

Page 25: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Here we have entered the observation that this

component had 0 defects found and fixed in testing

Page 26: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Note how the other distributions changed.

Page 27: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

The model is doing forward inference to

predict defects in operation…..

Page 28: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

..and backwards inference to make

deductions about design process quality.

Page 29: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

but actually the most likely explanation is very low testing quality.

Page 30: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

…and lower than average complexity.

Page 31: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

But if we find out that the complexity is actually high…..

But if we find out that the complexity is actually high…..

Page 32: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

https://intranet.dcs.qmul.ac.uk/courses/coursenotes/DCS235/

then the expected number of operational

defects increases

Page 33: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

https://intranet.dcs.qmul.ac.uk/courses/coursenotes/DCS235/

and we become even more convinced of

the inadequate testing

Page 34: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

https://intranet.dcs.qmul.ac.uk/courses/coursenotes/DCS235/

So far we have made no

observation about operational usage.

Page 35: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

https://intranet.dcs.qmul.ac.uk/courses/coursenotes/DCS235/

If, in fact, the operational usage is high…

Page 36: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Then we have an example of a component with no defects in test ..

Page 37: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

…but probably many defects in operation.

Page 38: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

But suppose we find out that the test quality was very high.

Page 39: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Then we completely revise out beliefs

Then we completely revise out beliefs

Page 40: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

We are now pretty convinced that the module will be fault free in operation

Page 41: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

…And the ‘explanation’ is that the design process is likely to be very high quality

Page 42: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

we reset the model and this time use the model to argue backwards

we reset the model and this time use the model to argue backwards

Page 43: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A Model in action

Suppose we know that this is a critical component that has a requirement for 0 defects in operation…

Page 44: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

The model looks for explanations for such a state of affairs.

The model looks for explanations for such a state of affairs.

Page 45: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

The most obvious way to achieve such a result is to not use the component much.

Page 46: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

But if we know it will be subject to high usage…

Page 47: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Then the model adjusts the beliefs about the other uncertain variables.

Then the model adjusts the beliefs about the other uncertain variables.

Page 48: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

A combination of lower than average complexity…..

Page 49: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

…Higher than average design quality…..

Page 50: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

and much higher than average testing quality …..

Page 51: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

But suppose we cannot assume our testing is anything other than average…

Page 52: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Then better design quality …..

Page 53: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

..and lower complexity are needed …..

Page 54: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

But if complexity is very high …..

Page 55: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

…Then we are left with a very skewed distribution for design process quality.

Page 56: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

What the model is saying is that, if these are the true requirements for the component then you are very unlikely to achieve them unless you have a very good design process

What the model is saying is that, if these are the true requirements for the component then you are very unlikely to achieve them unless you have a very good design process

Page 57: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Making better decisions

• That was a simplified version of model produced for Philips

• Helped Philips make critical decisions about when to release software for electronic components

• 95% accuracy in defect prediction – much better than can be achieved by traditional statistical methods

Page 58: 1 Introducing Bayesian Nets in AgenaRisk An example based on Software Defect Prediction.

Model Implementation

In AgenaRiskwww.agenarisk.com