1. Profile Decision-making and risk assessment under uncertainty Special expertise on software...

60
1

Transcript of 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software...

Page 1: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

1

Page 2: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

A Bayesian Net for predicting air traffic incidents

Page 9: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Residual Defects

Operational defects

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

Predicting software defects

Page 12: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Residual DefectsDefects found and fixed

Defects Introduced

Operational defectsOperational usage

Predicting software defects

…minus the number you successfully find and fix

Page 15: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Residual Defects

Problemcomplexity

Defects found and fixed

Defects IntroducedDesign processquality

Operational defectsOperational usage

….and design process quality

Predicting software defects

Page 18: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

A Model in action

So the component is just as likely to have very high

complexity as very low

Page 23: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Here we have entered the observation that this

component had 0 defects found and fixed in testing

Page 26: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Note how the other distributions changed.

Page 27: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

The model is doing forward inference to

predict defects in operation…..

Page 28: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

..and backwards inference to make

deductions about design process quality.

Page 29: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 30: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

…and lower than average complexity.

Page 31: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

then the expected number of operational

defects increases

Page 33: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

and we become even more convinced of

the inadequate testing

Page 34: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

So far we have made no

observation about operational usage.

Page 35: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

If, in fact, the operational usage is high…

Page 36: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 37: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

…but probably many defects in operation.

Page 38: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 39: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Then we completely revise out beliefs

Then we completely revise out beliefs

Page 40: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 41: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 42: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 46: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 47: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

A combination of lower than average complexity…..

Page 49: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

…Higher than average design quality…..

Page 50: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

and much higher than average testing quality …..

Page 51: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 52: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Then better design quality …..

Page 53: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

..and lower complexity are needed …..

Page 54: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

But if complexity is very high …..

Page 55: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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

Page 56: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

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. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Current Major EPSRC Projects

• eXdecide: Quantified Risk Assessment and Decision Support for Agile Software Projects

• DyFUSION: Towards a Novel Universal tool for Modelling and Reasoning under Uncertainty

Page 59: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

Exploitation and Tool support

Through spinout company Agena Ltd

Page 60: 1. Profile Decision-making and risk assessment under uncertainty Special expertise on software project risk assessment Novel applications of causal models.

In Summary• RADAR is providing improved

risk assessment for a wide range of critical applications

• Based on novel extensions of causal models

• At the leading edge for modelling uncertainty