SlideShare una empresa de Scribd logo
1 de 50
National University of Singapore
– Norman Vincent Peale,

The Power of Posi,ve Thinking
“Do not build up obstacles

in your imagina:on.”
Pop Quiz
What Do These Things Have in Common?
www.nbcnews.com
An Earthquake
Pop Quiz
What Do These Things Have in Common?
www.healthina:on.com
A Heart Attack
Pop Quiz
What Do These Things Have in Common?
www.freerepublic.com
President Trump
Pop Quiz
What Do These Things Have in Common?
✓ They are governed by stochas:c phenomena
✓ We have a reasonable understanding of their causes
✓ We base our understanding on past observa:ons
- At various levels of abstrac:on
(Simple) Answer: 

They are events to which
experts assign a probability based on models
Software is like this too!
Certainty in

SoKware Engineering
“My program is correct.” “The specifica,on is sa,sfied.”
A simplistic viewpoint, which permeates most of our

models, techniques and tools
Example
Model Checking
! ¬p → ◊q( )∧"( )
Model
Checker
✓
✕
State Machine
Model
Temporal

Property
Results
Counterexample
Trace
System
Requirements
Example
Model Checking
! ¬p → ◊q( )∧"( )
Model
Checker
✕
State Machine
Model
Temporal

Property
Results
Counterexample
Trace
System
Requirements
Why Apply a

Probabilis:c Viewpoint?
Why Apply a

Probabilis:c Viewpoint?
Why Apply a

Probabilis:c Viewpoint?
✓ Perfect and complete requirements are improbable
✓ Execu:on and tes:ng are akin to sampling
… and we use tes:ng to increase confidence!
✓ The behavior of the execu:on environment is
random and unpredictable
✓ Frequency of execu:on failures is (hopefully) low
There are many random phenomena

and “shades of grey”

in software engineering
But our models, techniques and tools rarely capture this
NATO Conference on SE

Rome, 1969
h[p://homepages.cs.ncl.ac.uk/brian.randell/NATO/N1969/DIJKSTRA.html
– Edsger W. Dijkstra
(on more than one occasion!)
“Tes:ng shows the presence,
not the absence of bugs.”
Probabili:es at Garmisch, 1968
John Nash, IBM Hursley
h[p://homepages.cs.ncl.ac.uk/brian.randell/NATO/N1968/GROUP1.html
Naur & Randell, SoDware Engineering: Report on a Conference
sponsored by the NATO Science CommiLee, Garmisch,
Germany, 7th to 11th October 1968, January 1969.
Some Previous Efforts with
Probabilis:c Approaches
• Performance Engineering (many)
• Cleanroom SoKware Engineering (Mills)
• Opera:onal Profiles

and SoKware Reliability Engineering (Musa, …)
• Quan:ta:ve Goal Reasoning in KAOS (Lamsweerde, Le:er)
• Sta:s:cal Debugging (Harrold, Orso, Liblit, …)
• Probabilis:c Programming & Analysis (Poole, Pfeffer, Dwyer, Visser, …)
• Probabilis:c and Sta:s:cal Model Checking (many)
Probabilis:c Model Checking
! ¬p → ◊q( )∧"( )
Model
Checker
✓
✕
State Machine
Model
Temporal

Property
Results
Counterexample
Trace
System
Requirements
P≥0.95 [ ]
0.4
0.6
Probabilis:c
Probabilis:c
Probabilis:c Model Checking
! ¬p → ◊q( )∧"( )
Model
Checker
✓
✕
State Machine
Model
Temporal

Property
Results
Counterexample
Trace
System
Requirements
P=? [ ]
0.4
0.6
Quan:ta:ve Results
0.9732Probabilis:c
Probabilis:c
Example
The Zeroconf Protocol
s1s0 s2 s3
q
1
1
{ok} {error}
{start} s4
s5
s6
s7
s8
1
1-q
1-p
1-p
1-p
1-p
p p p
p
1
Pr(unsuccessful message probe)Pr(new address in use)
from the PRISM group

(Kwiatkowska et al.)
P≤0.05 [ true U error ]
0.1
0.9
0.5
0.5
0.10.10.1
0.9
0.9
0.9
Some Previous Efforts with
Probabilis:c Approaches
• Cleanroom SoKware Engineering
• Opera:onal Profiles & SoKware Reliability Engineering
• Quan:ta:ve Goal/Requirements Reasoning in KAOS
• Performance Engineering
• Sta:s:cal Debugging
• Probabilis:c Programming and Analysis
• Probabilis:c Model Checking
We lack an
holistic approach
for the
whole software development lifecycle
Challenges in Taking a
Probabilis:c Viewpoint
1. Some Things Are Certain, Or Should Be
2. Educa:on and Training
3. Popula:on Sizes and Sample Sizes
4. Determining the Probabili:es
5. Pinpoin:ng the Root Cause of Uncertainty
Challenges
Some Things Are Certain, Or Should Be
Challenges
Some Things Are Certain, Or Should Be
Challenges
Some Things Are Certain, Or Should Be
Need to mix probabilistic and non-probabilistic approaches
Challenges
Educa:on and Training
Challenges
Educa:on and Training
Challenges
Educa:on and Training
Challenges
Educa:on and Training
Challenges
Popula:on Sizes and Sample Sizes
Challenges
Determining the Probabili:es
! ¬p → ◊q( )∧"( )
Model
Checker
✓
State Machine
Model
Temporal

Property
Results
System
Requirements
P≥0.95 [ ]
0.4
0.6
Quan:ta:ve Results
0.9732Probabilis:c
Probabilis:c
Challenges
Determining the Probabili:es
! ¬p → ◊q( )∧"( )
Model
Checker
✕
State Machine
Model
Temporal

Property
Results
Counterexample
Trace
System
Requirements
P≥0.95 [ ]
Quan:ta:ve Results
Probabilis:c
Probabilis:c
0.41
0.59
0.6211
Example
The Zeroconf Protocol Revisited
s1s0 s2 s3
q
1
1
{ok} {error}
{start} s4
s5
s6
s7
s8
1
1-q
1-p
1-p
1-p
1-p
p p p
p
1
from the PRISM group

(Kwiatkowska et al.)
The packet-loss rate is determined by an
empirically es,mated probability distribu,on
Pr(packet loss)
0.1
0.9
0.5
0.5
0.10.10.1
0.9
0.9
0.9
Perturbed Probabilis:c Systems
(Current Research)
• Discrete-Time Markov Chains (DTMCs)
• “Small” perturba:ons of probability parameters
• Reachability proper:es P≤p[ ]
• DRA proper:es
• Linear, quadra:c bounds on verifica:on impact
see papers at ICFEM 2013, ICSE 2014, CONCUR 2014,

ATVA 2014, FASE 2016, ICSE 2016, IEEE TSE 2016
• Markov Decision Processes (MDPs)
• Con:nuous-Time Markov Chains (CTMCs)
S? U S!
Asympto:c

Perturba:on Bounds
• Perturba:on Func:on
where A is the transi:on probability sub-matrix for S?
and b is the vector of one-step probabili:es from S? to S!
• Condi:on Number
• Predicted varia:on to probabilis:c verifica:on

result p due to perturba:on Δ:
ρ x( )= ι? i A x
i
i b x( )− Ai
i b( )( )i=0
∞
∑
κ = lim
δ→0
sup
ρ(x − r)
δ
: x − r ≤ δ,δ > 0
⎧
⎨
⎩
⎫
⎬
⎭
ˆp = p ±κΔ
Case Study Results
Noisy Zeroconf (35000 Hosts, PRISM)
p
Actual
Collision Probability
Predicted
Collision Probability
0.095 -19.8% -21.5%
0.096 -16.9% -17.2%
0.097 -12.3% -12.9%
0.098 -8.33% -8.61%
0.099 -4.23% -4.30%
0.100 1.8567 ✕ 10-4 —
0.101 +4.38% +4.30%
0.102 +8.91% +8.61%
0.103 +13.6% +12.9%
0.104 +18.4% +17.2%
0.105 +23.4% +21.5%
Challenges
Pinpoin:ng the Root Cause of Uncertainty
“There are known knowns; there are
things we know we know. We also know
there are known unknowns; that is to
say, we know there are some things we
do not know. But there are also
unknown unknowns – the ones we don’t
know we don’t know.”
— Donald Rumsfeld
The Changing Nature of

SoKware Engineering
✓ Autonomous Vehicles
✓ Cyber Physical Systems
✓ Internet of Things
see
Deep Learning and Understandability versus

SoDware Engineering and Verifica,on
by Peter Norvig, Director of Research at Google
h[p://www.youtube.com/watch?v=X769cyzBNVw
Example
Affec:ve Compu:ng
Example
Affec:ve Compu:ng
When is an
incorrect emo,on
classifica,on a bug,
and when is it a
“feature”?
And how do
you know?
Uncertainty in Tes:ng
(Current Research)
Test

Execu:on
System
Under Test
Result Interpreta,on
Acceptable✓
Uncertainty in Tes:ng
(Current Research)
Test

Execu:on
System
Under Test
Result Interpreta,on
Unacceptable
Acceptable✓
✕
Uncertainty in Tes:ng
(Current Research)
Test

Execu:on
System
Under Test
Result Interpreta,on
Unacceptable
Acceptable
Acceptable
✓
✕
✕
Uncertainty in Tes:ng
(Current Research)
Test

Execu:on
System
Under Test
Result Interpreta,on
Unacceptable
Acceptable
Acceptable
✓
✕
✕
Acceptable misbehaviors can mask real faults!
One Possible Solu:on
Distribu:on Fi{ng
System
Under Test
Training

Data WEKA
Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
One Possible Solu:on
Distribu:on Fi{ng
System
Under Test
WEKA
Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
One Possible Solu:on
Distribu:on Fi{ng
System
Under Test
Result Interpreta,on
Acceptablep < 0.99
Test

Execu:on
WEKA
Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
One Possible Solu:on
Distribu:on Fi{ng
System
Under Test
Result Interpreta,on
Unacceptable
Acceptablep < 0.99
Test

Execu:on
WEKA
p < 0.0027
Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
One Possible Solu:on
Distribu:on Fi{ng
System
Under Test
Result Interpreta,on
Unacceptable
Acceptable
Inconclusive
p < 0.99
Test

Execu:on
WEKA
p < 0.37
p < 0.0027
Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
Conclusion
There is poten:ally much to be gained by relaxing the
tradi:onal absolu:st view of soKware engineering
And there are great research opportuni:es in

applying a probabilis:c viewpoint
– Norman Vincent Peale,

The Power of Posi,ve Thinking
“Do not build up obstacles

in your imagina:on.”
National University of Singapore

Más contenido relacionado

Similar a The Power of Probabilistic Thinking (keynote talk at ASE 2016)

A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...Kevin Moran
 
FAST Approaches to Scalable Similarity-based Test Case Prioritization
FAST Approaches to Scalable Similarity-based Test Case PrioritizationFAST Approaches to Scalable Similarity-based Test Case Prioritization
FAST Approaches to Scalable Similarity-based Test Case Prioritizationbrenoafmiranda
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year JourneyLionel Briand
 
Interpretability and Reproducibility in Production Machine Learning Applicat...
 Interpretability and Reproducibility in Production Machine Learning Applicat... Interpretability and Reproducibility in Production Machine Learning Applicat...
Interpretability and Reproducibility in Production Machine Learning Applicat...Swaminathan Sundararaman
 
The Concurrent Constraint Programming Research Programmes -- Redux
The Concurrent Constraint Programming Research Programmes -- ReduxThe Concurrent Constraint Programming Research Programmes -- Redux
The Concurrent Constraint Programming Research Programmes -- ReduxPierre Schaus
 
20181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday201820181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday2018STAMP Project
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLLionel Briand
 
On the value of Sampling and Pruning for SBSE
On the value of Sampling and Pruning for SBSEOn the value of Sampling and Pruning for SBSE
On the value of Sampling and Pruning for SBSEJianfeng Chen
 
Using AI Planning to Automate the Performance Analysis of Simulators
Using AI Planning to Automate the Performance Analysis of SimulatorsUsing AI Planning to Automate the Performance Analysis of Simulators
Using AI Planning to Automate the Performance Analysis of SimulatorsRoland Ewald
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Alex Orso
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionKeet Sugathadasa
 
Why Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their SoWhy Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their Sojpipitone
 
Dependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsDependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsRoberto Natella
 
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...Universidad Rey Juan Carlos
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairClaire Le Goues
 
Streaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event ProcessingStreaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event ProcessingIstván Dávid
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
The Status of ML Algorithms for Structure-property Relationships Using Matb...
The Status of ML Algorithms for Structure-property Relationships Using Matb...The Status of ML Algorithms for Structure-property Relationships Using Matb...
The Status of ML Algorithms for Structure-property Relationships Using Matb...Anubhav Jain
 

Similar a The Power of Probabilistic Thinking (keynote talk at ASE 2016) (20)

A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
A Large-Scale Empirical Comparison of Static and DynamicTest Case Prioritizat...
 
2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
 
FAST Approaches to Scalable Similarity-based Test Case Prioritization
FAST Approaches to Scalable Similarity-based Test Case PrioritizationFAST Approaches to Scalable Similarity-based Test Case Prioritization
FAST Approaches to Scalable Similarity-based Test Case Prioritization
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year Journey
 
Interpretability and Reproducibility in Production Machine Learning Applicat...
 Interpretability and Reproducibility in Production Machine Learning Applicat... Interpretability and Reproducibility in Production Machine Learning Applicat...
Interpretability and Reproducibility in Production Machine Learning Applicat...
 
The Concurrent Constraint Programming Research Programmes -- Redux
The Concurrent Constraint Programming Research Programmes -- ReduxThe Concurrent Constraint Programming Research Programmes -- Redux
The Concurrent Constraint Programming Research Programmes -- Redux
 
20181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday201820181106 arie van_deursen_testday2018
20181106 arie van_deursen_testday2018
 
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCLOCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
OCLR: A More Expressive, Pattern-Based Temporal Extension of OCL
 
On the value of Sampling and Pruning for SBSE
On the value of Sampling and Pruning for SBSEOn the value of Sampling and Pruning for SBSE
On the value of Sampling and Pruning for SBSE
 
Using AI Planning to Automate the Performance Analysis of Simulators
Using AI Planning to Automate the Performance Analysis of SimulatorsUsing AI Planning to Automate the Performance Analysis of Simulators
Using AI Planning to Automate the Performance Analysis of Simulators
 
Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)Software Testing:
 A Research Travelogue 
(2000–2014)
Software Testing:
 A Research Travelogue 
(2000–2014)
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in Production
 
Why Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their SoWhy Do Computational Scientists Trust Their So
Why Do Computational Scientists Trust Their So
 
Dependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software BugsDependability Benchmarking by Injecting Software Bugs
Dependability Benchmarking by Injecting Software Bugs
 
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
Towards Dynamic Consistency Checking in Goal-directed Predicate Answer Set Pr...
 
DeepLearning
DeepLearningDeepLearning
DeepLearning
 
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program RepairIt Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
It Does What You Say, Not What You Mean: Lessons From A Decade of Program Repair
 
Streaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event ProcessingStreaming Model Transformations by Complex Event Processing
Streaming Model Transformations by Complex Event Processing
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
The Status of ML Algorithms for Structure-property Relationships Using Matb...
The Status of ML Algorithms for Structure-property Relationships Using Matb...The Status of ML Algorithms for Structure-property Relationships Using Matb...
The Status of ML Algorithms for Structure-property Relationships Using Matb...
 

Más de David Rosenblum

Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...David Rosenblum
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)David Rosenblum
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...David Rosenblum
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)David Rosenblum
 
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...David Rosenblum
 
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)David Rosenblum
 
Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)David Rosenblum
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)David Rosenblum
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)David Rosenblum
 
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...David Rosenblum
 

Más de David Rosenblum (11)

Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
Known Unknowns: Testing in the Presence of Uncertainty (talk at ACM SIGSOFT F...
 
Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)Career Management (invited talk at ICSE 2014 NFRS)
Career Management (invited talk at ICSE 2014 NFRS)
 
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
SIGSOFT Impact Award: Reflections and Prospects (invited talk at SIGSOFT FSE ...
 
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
Content-Based Publish/Subscribe: A Re-Assessment (keynote talk at DOA 2005)
 
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
Scalability in Software Systems Engineering: The Good, the Bad, and the Ugly ...
 
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
Some Open Problems in Publish/Subscribe Networking (keynote talk at DEBS 2003)
 
Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)Assertions a Decade Later (invited talk at ICSE 2002)
Assertions a Decade Later (invited talk at ICSE 2002)
 
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
Scalability: What It Is and How to Analyze It (keynote talk at SBES 2007)
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
High-Confidence Ubiquitous Computing Systems (invited talk at ISHCS 2011)
 
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
Applications and Abstractions: A Cautionary Tale (invited talk at a DIMACS Wo...
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

The Power of Probabilistic Thinking (keynote talk at ASE 2016)

  • 2. – Norman Vincent Peale,
 The Power of Posi,ve Thinking “Do not build up obstacles
 in your imagina:on.”
  • 3. Pop Quiz What Do These Things Have in Common? www.nbcnews.com An Earthquake
  • 4. Pop Quiz What Do These Things Have in Common? www.healthina:on.com A Heart Attack
  • 5. Pop Quiz What Do These Things Have in Common? www.freerepublic.com President Trump
  • 6. Pop Quiz What Do These Things Have in Common? ✓ They are governed by stochas:c phenomena ✓ We have a reasonable understanding of their causes ✓ We base our understanding on past observa:ons - At various levels of abstrac:on (Simple) Answer: 
 They are events to which experts assign a probability based on models Software is like this too!
  • 7. Certainty in
 SoKware Engineering “My program is correct.” “The specifica,on is sa,sfied.” A simplistic viewpoint, which permeates most of our
 models, techniques and tools
  • 8. Example Model Checking ! ¬p → ◊q( )∧"( ) Model Checker ✓ ✕ State Machine Model Temporal
 Property Results Counterexample Trace System Requirements
  • 9. Example Model Checking ! ¬p → ◊q( )∧"( ) Model Checker ✕ State Machine Model Temporal
 Property Results Counterexample Trace System Requirements
  • 12. Why Apply a
 Probabilis:c Viewpoint? ✓ Perfect and complete requirements are improbable ✓ Execu:on and tes:ng are akin to sampling … and we use tes:ng to increase confidence! ✓ The behavior of the execu:on environment is random and unpredictable ✓ Frequency of execu:on failures is (hopefully) low There are many random phenomena
 and “shades of grey”
 in software engineering But our models, techniques and tools rarely capture this
  • 13. NATO Conference on SE
 Rome, 1969 h[p://homepages.cs.ncl.ac.uk/brian.randell/NATO/N1969/DIJKSTRA.html – Edsger W. Dijkstra (on more than one occasion!) “Tes:ng shows the presence, not the absence of bugs.”
  • 14. Probabili:es at Garmisch, 1968 John Nash, IBM Hursley h[p://homepages.cs.ncl.ac.uk/brian.randell/NATO/N1968/GROUP1.html Naur & Randell, SoDware Engineering: Report on a Conference sponsored by the NATO Science CommiLee, Garmisch, Germany, 7th to 11th October 1968, January 1969.
  • 15. Some Previous Efforts with Probabilis:c Approaches • Performance Engineering (many) • Cleanroom SoKware Engineering (Mills) • Opera:onal Profiles
 and SoKware Reliability Engineering (Musa, …) • Quan:ta:ve Goal Reasoning in KAOS (Lamsweerde, Le:er) • Sta:s:cal Debugging (Harrold, Orso, Liblit, …) • Probabilis:c Programming & Analysis (Poole, Pfeffer, Dwyer, Visser, …) • Probabilis:c and Sta:s:cal Model Checking (many)
  • 16. Probabilis:c Model Checking ! ¬p → ◊q( )∧"( ) Model Checker ✓ ✕ State Machine Model Temporal
 Property Results Counterexample Trace System Requirements P≥0.95 [ ] 0.4 0.6 Probabilis:c Probabilis:c
  • 17. Probabilis:c Model Checking ! ¬p → ◊q( )∧"( ) Model Checker ✓ ✕ State Machine Model Temporal
 Property Results Counterexample Trace System Requirements P=? [ ] 0.4 0.6 Quan:ta:ve Results 0.9732Probabilis:c Probabilis:c
  • 18. Example The Zeroconf Protocol s1s0 s2 s3 q 1 1 {ok} {error} {start} s4 s5 s6 s7 s8 1 1-q 1-p 1-p 1-p 1-p p p p p 1 Pr(unsuccessful message probe)Pr(new address in use) from the PRISM group
 (Kwiatkowska et al.) P≤0.05 [ true U error ] 0.1 0.9 0.5 0.5 0.10.10.1 0.9 0.9 0.9
  • 19. Some Previous Efforts with Probabilis:c Approaches • Cleanroom SoKware Engineering • Opera:onal Profiles & SoKware Reliability Engineering • Quan:ta:ve Goal/Requirements Reasoning in KAOS • Performance Engineering • Sta:s:cal Debugging • Probabilis:c Programming and Analysis • Probabilis:c Model Checking We lack an holistic approach for the whole software development lifecycle
  • 20. Challenges in Taking a Probabilis:c Viewpoint 1. Some Things Are Certain, Or Should Be 2. Educa:on and Training 3. Popula:on Sizes and Sample Sizes 4. Determining the Probabili:es 5. Pinpoin:ng the Root Cause of Uncertainty
  • 21. Challenges Some Things Are Certain, Or Should Be
  • 22. Challenges Some Things Are Certain, Or Should Be
  • 23. Challenges Some Things Are Certain, Or Should Be Need to mix probabilistic and non-probabilistic approaches
  • 29. Challenges Determining the Probabili:es ! ¬p → ◊q( )∧"( ) Model Checker ✓ State Machine Model Temporal
 Property Results System Requirements P≥0.95 [ ] 0.4 0.6 Quan:ta:ve Results 0.9732Probabilis:c Probabilis:c
  • 30. Challenges Determining the Probabili:es ! ¬p → ◊q( )∧"( ) Model Checker ✕ State Machine Model Temporal
 Property Results Counterexample Trace System Requirements P≥0.95 [ ] Quan:ta:ve Results Probabilis:c Probabilis:c 0.41 0.59 0.6211
  • 31. Example The Zeroconf Protocol Revisited s1s0 s2 s3 q 1 1 {ok} {error} {start} s4 s5 s6 s7 s8 1 1-q 1-p 1-p 1-p 1-p p p p p 1 from the PRISM group
 (Kwiatkowska et al.) The packet-loss rate is determined by an empirically es,mated probability distribu,on Pr(packet loss) 0.1 0.9 0.5 0.5 0.10.10.1 0.9 0.9 0.9
  • 32. Perturbed Probabilis:c Systems (Current Research) • Discrete-Time Markov Chains (DTMCs) • “Small” perturba:ons of probability parameters • Reachability proper:es P≤p[ ] • DRA proper:es • Linear, quadra:c bounds on verifica:on impact see papers at ICFEM 2013, ICSE 2014, CONCUR 2014,
 ATVA 2014, FASE 2016, ICSE 2016, IEEE TSE 2016 • Markov Decision Processes (MDPs) • Con:nuous-Time Markov Chains (CTMCs) S? U S!
  • 33. Asympto:c
 Perturba:on Bounds • Perturba:on Func:on where A is the transi:on probability sub-matrix for S? and b is the vector of one-step probabili:es from S? to S! • Condi:on Number • Predicted varia:on to probabilis:c verifica:on
 result p due to perturba:on Δ: ρ x( )= ι? i A x i i b x( )− Ai i b( )( )i=0 ∞ ∑ κ = lim δ→0 sup ρ(x − r) δ : x − r ≤ δ,δ > 0 ⎧ ⎨ ⎩ ⎫ ⎬ ⎭ ˆp = p ±κΔ
  • 34. Case Study Results Noisy Zeroconf (35000 Hosts, PRISM) p Actual Collision Probability Predicted Collision Probability 0.095 -19.8% -21.5% 0.096 -16.9% -17.2% 0.097 -12.3% -12.9% 0.098 -8.33% -8.61% 0.099 -4.23% -4.30% 0.100 1.8567 ✕ 10-4 — 0.101 +4.38% +4.30% 0.102 +8.91% +8.61% 0.103 +13.6% +12.9% 0.104 +18.4% +17.2% 0.105 +23.4% +21.5%
  • 35. Challenges Pinpoin:ng the Root Cause of Uncertainty “There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say, we know there are some things we do not know. But there are also unknown unknowns – the ones we don’t know we don’t know.” — Donald Rumsfeld
  • 36. The Changing Nature of
 SoKware Engineering ✓ Autonomous Vehicles ✓ Cyber Physical Systems ✓ Internet of Things see Deep Learning and Understandability versus
 SoDware Engineering and Verifica,on by Peter Norvig, Director of Research at Google h[p://www.youtube.com/watch?v=X769cyzBNVw
  • 38. Example Affec:ve Compu:ng When is an incorrect emo,on classifica,on a bug, and when is it a “feature”? And how do you know?
  • 39. Uncertainty in Tes:ng (Current Research) Test
 Execu:on System Under Test Result Interpreta,on Acceptable✓
  • 40. Uncertainty in Tes:ng (Current Research) Test
 Execu:on System Under Test Result Interpreta,on Unacceptable Acceptable✓ ✕
  • 41. Uncertainty in Tes:ng (Current Research) Test
 Execu:on System Under Test Result Interpreta,on Unacceptable Acceptable Acceptable ✓ ✕ ✕
  • 42. Uncertainty in Tes:ng (Current Research) Test
 Execu:on System Under Test Result Interpreta,on Unacceptable Acceptable Acceptable ✓ ✕ ✕ Acceptable misbehaviors can mask real faults!
  • 43. One Possible Solu:on Distribu:on Fi{ng System Under Test Training
 Data WEKA Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
  • 44. One Possible Solu:on Distribu:on Fi{ng System Under Test WEKA Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
  • 45. One Possible Solu:on Distribu:on Fi{ng System Under Test Result Interpreta,on Acceptablep < 0.99 Test
 Execu:on WEKA Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
  • 46. One Possible Solu:on Distribu:on Fi{ng System Under Test Result Interpreta,on Unacceptable Acceptablep < 0.99 Test
 Execu:on WEKA p < 0.0027 Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
  • 47. One Possible Solu:on Distribu:on Fi{ng System Under Test Result Interpreta,on Unacceptable Acceptable Inconclusive p < 0.99 Test
 Execu:on WEKA p < 0.37 p < 0.0027 Sebastian Elbaum and David S. Rosenblum, “Known Unknowns: Testing in the Presence of Uncertainty”, Proc. FSE 2014.
  • 48. Conclusion There is poten:ally much to be gained by relaxing the tradi:onal absolu:st view of soKware engineering And there are great research opportuni:es in
 applying a probabilis:c viewpoint
  • 49. – Norman Vincent Peale,
 The Power of Posi,ve Thinking “Do not build up obstacles
 in your imagina:on.”