SlideShare ist ein Scribd-Unternehmen logo
1 von 24
© ABB Group
January 30, 2015 | Slide 1
A Large-Scale Industrial Case Study
on Architecture-based Software Reliability Analysis
Heiko Koziolek, Bastian Schlich, Carlos Bilich, ABB Corporate Research, 2010-11-01
Architecture-based Software Reliability Analysis (ABSRA)
What?
 Typical questions of software architects concerning reliability
 „What is the reliability (probability of failures) in my system?“
 „How do individual components contribute to the system reliability?“
 „Which architectural alternative is best for reliability?“
 „Where shall I introduce fault-tolerance mechanisms?“
 „How to distribute my limited testing efforts among components?“
 Additional questions by ABB
 „How much more reliable is a new architecture than a former one?“
 „Does ABSRA work on large-scale systems?“
© ABB Group
January 30, 2015 | Slide 2
Architecture-based Software Reliability Analysis (ABSRA)
How?
© ABB Group
January 30, 2015 | Slide 3
Software
components,
control flow,
reliabilities
R=0.995
R=0.982
R=0.937
Markov
Model
combine
Markov
Model
Solution
trans-
form
R = 0.9923
Predicted
system
reliability
solve
im-
prove
Related work
Existing empirical studies
© ABB Group
January 30, 2015 | Slide 4
”… very little effort has been devoted to the validation
of architecture-based software reliability techniques.”
[Gokhale2007, IEEE Transactions on Dependable and Secure Computing, Vol. 4, No. 1]
Source Name Year Lang. LOC # Components
[Gokhale2004,
Perf. Eval.]
SHARPE 1998 C 35,000 30
[Goseva2001,
ISSRE]
ESA 2001 C 10,000 3
[Goseva2005,
ISSRE]
GCC 2005 C 350,000 13
[Wang2005,
JSS]
SMS 2006 C/C++ 13,000 15
[Goseva2006,
ISSRE]
IDN 2006 C 11,000 6
Source Name Year Lang. LOC # Components
[Gokhale2004,
Perf. Eval.]
SHARPE 1998 C 35,000 30
[Goseva2001,
ISSRE]
ESA 2001 C 10,000 3
[Goseva2005,
ISSRE]
GCC 2005 C 350,000 13
[Wang2005,
JSS]
SMS 2006 C/C++ 13,000 15
[Goseva2006,
ISSRE]
IDN 2006 C 11,000 6
Our Paper ABB 2010 C++ >3,000,000 8 (>100)
System under study: Process control system
© ABB Group
January 30, 2015 | Slide 5
System under study: Process control system
Topology
© ABB Group
January 30, 2015 | Slide 6
Plant / Office Network
Network
Isolation
Device
Remote
Workplaces
Firewall
Internet
Remote
Workplaces
Redundant Network
Workplaces
Controllers
Servers
Fieldbus
Remote I/O and
Field devices
System under study: Process control system
Subsystems within the servers
© ABB Group
January 30, 2015 | Slide 7
Which steps are required for ABSRA?
Estimate component failure probabilities
Estimate transition probabilities
Construct the Markov model
Exploit the results
© ABB Group
January 30, 2015 | Slide 8
Estimate component failure probabilities
Existing methods
Code metrics [Nagappan2006]
• Validity debated
Reliability growth modeling [IEEE Std 1633-2008]
• Requires component failure reports
Random/statistical testing [Miller1992]
• Does not scale, difficult to apply on components
Fault injection [Gokhale2004]
• Does not determine the current reliability
Explicit failure modeling [Cheung2008]
• Accuracy unknown
© ABB Group
January 30, 2015 | Slide 9
Reliability growth modeling
General principle
© ABB Group
January 30, 2015 | Slide 10
  0,
)(
))(exp()()(
),,(
1





l
lilii
ilg




Littlewood/Verrall Model
Reliability growth modeling
Using the Littlewood/Verrall-model on one subsystem
© ABB Group
January 30, 2015 | Slide 11
 Filtered subsystem bug list
 Release dates
 Curve fitting in CASRE 3.0
http://www.openchannelsoftware.com/projects/CASRE_3.0/
Reliability growth modeling
Result
© ABB Group
January 30, 2015 | Slide 12
R1= ...
R8= ...
R4= ...
R3= ...
R5= ...
R6= ...
R7= ...
R2= ...
Which steps are required for ABSRA?
Estimate component failure probabilities
Estimate transition probabilities
Construct the Markov model
Exploit the results
© ABB Group
January 30, 2015 | Slide 13
Estimate component transition probabilities
Existing methods
Exploiting design document [Gokhale2007]
• Only static dependencies in SW architecture
Profiling [Goseva2005]
• Complicated filtering of data required
Manual code instrumentation
• Can be time-comsuming
© ABB Group
January 30, 2015 | Slide 14
Self-coded
script
Estimate component transition probabilities
Profiling with proprietary tools
© ABB Group
January 30, 2015 | Slide 15
Example trace from profiling
Set up and ran the system
Which steps are required for ABSRA?
Estimate component failure probabilities
Estimate transition probabilities
Construct the Markov model
Exploit the results
© ABB Group
January 30, 2015 | Slide 16
Construct the Markov model
Existing state-based methods
[Littlewood1979]
[Cheung1980]
[Laprie1984]
[Kubat1989]
[Gokhale1998]
[Ledoux1999]
[Gokhale1998-2]
© ABB Group
January 30, 2015 | Slide 17
[Goseva-Popstojanova2001]
Cheung model
Adding failure & end states, compute reliability
© ABB Group
January 30, 2015 | Slide 18
[Cheung1980]
Which steps are required for ABSRA?
Estimate component failure probabilities
Estimate transition probabilities
Construct the Markov model
Exploit the results
© ABB Group
January 30, 2015 | Slide 19
Exploit the results
Possibilities
Estimate system reliability [Cheung1980]
• Experience by customers hard to validate
Conduct sensitivity analysis [Gokhale2002]
• Study system reliability for varying component failure rates
Assess costs of bugs [Cheung1980]
• Quantify the effect of an error in component
Evaluate design alternatives [Goseva2001]
• Values for new componentes need to be guessed
Allocate test budgets efficiently [Pietrantuono2010]
• Test critical components more often
© ABB Group
January 30, 2015 | Slide 20
Sensitivity Analysis
Impact of varying subsystem failure rates
© ABB Group
January 30, 2015 | Slide 21
http://www.prismmodelchecker.org/
Evaluation
Cost estimations in person hours (best/worst case)
© ABB Group
January 30, 2015 | Slide 22
Conclusions
Lessons learned
 Getting failure and transition probabilities is hard
 Time consuming, error-prone, limited automation
  Main obstacle for ABSRA is data collection
 Currently rather simple models
 No technologies, concurrency, hardware
 Difficult to evaluate architecture alternatives
 Limited decision support from the predictions
 Lack of empirical studies in literature
 Predominantly small systems
 Often dubious techniques for estimating failure rates
 Replicated case studies needed
© ABB Group
January 30, 2015 | Slide 23
© ABB Group
January 30, 2015 | Slide 24

Weitere ähnliche Inhalte

Andere mochten auch

The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...
The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...
The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...
ish2009
 

Andere mochten auch (12)

Lecture 2 - Site Analysis - Commercial-Institutional Interiors VDIS10009
Lecture 2 - Site Analysis - Commercial-Institutional Interiors VDIS10009Lecture 2 - Site Analysis - Commercial-Institutional Interiors VDIS10009
Lecture 2 - Site Analysis - Commercial-Institutional Interiors VDIS10009
 
Master Planning for a Sustainable Campus
Master Planning for a Sustainable CampusMaster Planning for a Sustainable Campus
Master Planning for a Sustainable Campus
 
04 07 المحاضرة الرابعة- السابعة
04 07 المحاضرة الرابعة- السابعة04 07 المحاضرة الرابعة- السابعة
04 07 المحاضرة الرابعة- السابعة
 
architecture case study bba msu
architecture case study bba msuarchitecture case study bba msu
architecture case study bba msu
 
Bauhaus
BauhausBauhaus
Bauhaus
 
The bauhaus presentation
The bauhaus presentation The bauhaus presentation
The bauhaus presentation
 
The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...
The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...
The Origin Of Bauhaus and its influences on The Foundation Program in Arts Ed...
 
The Bauhaus
The BauhausThe Bauhaus
The Bauhaus
 
Bauhaus presentation
Bauhaus presentation Bauhaus presentation
Bauhaus presentation
 
Bauhaus
BauhausBauhaus
Bauhaus
 
Bauhaus
BauhausBauhaus
Bauhaus
 
Bauhaus final ppt
Bauhaus final pptBauhaus final ppt
Bauhaus final ppt
 

Ähnlich wie A Large-Scale Industrial Case Study on Architecture-based Software Reliability Analysis

Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...
Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...
Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...
Altair
 
434671070-YuMi-Presentacion-pdf.pdf
434671070-YuMi-Presentacion-pdf.pdf434671070-YuMi-Presentacion-pdf.pdf
434671070-YuMi-Presentacion-pdf.pdf
AHMEDSTITOU3
 

Ähnlich wie A Large-Scale Industrial Case Study on Architecture-based Software Reliability Analysis (20)

2011 05-27-icse
2011 05-27-icse2011 05-27-icse
2011 05-27-icse
 
6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB
 
The Business Value of SW Quality
The Business Value of SW QualityThe Business Value of SW Quality
The Business Value of SW Quality
 
A Technique for Testing Composed Web Services Including Footprint
A Technique for Testing Composed Web Services Including FootprintA Technique for Testing Composed Web Services Including Footprint
A Technique for Testing Composed Web Services Including Footprint
 
Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...
Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...
Surrogate Model-Based Reliability Analysis of Composite UAV Wing facilitation...
 
IRJET- Modelling and Control of Variable Frequency Drive using PLC and Ma...
IRJET-  	  Modelling and Control of Variable Frequency Drive using PLC and Ma...IRJET-  	  Modelling and Control of Variable Frequency Drive using PLC and Ma...
IRJET- Modelling and Control of Variable Frequency Drive using PLC and Ma...
 
Using Reliability methods
Using Reliability methodsUsing Reliability methods
Using Reliability methods
 
DevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQDevOps & Continuous Test for IIB and IBM MQ
DevOps & Continuous Test for IIB and IBM MQ
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...
 
VARIADORES DE FRECUENCIA ACS880 ABB - EECOL
VARIADORES DE FRECUENCIA ACS880  ABB -  EECOLVARIADORES DE FRECUENCIA ACS880  ABB -  EECOL
VARIADORES DE FRECUENCIA ACS880 ABB - EECOL
 
IRJET - Hardware Benchmarking Application
IRJET - Hardware Benchmarking ApplicationIRJET - Hardware Benchmarking Application
IRJET - Hardware Benchmarking Application
 
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
 
434671070-YuMi-Presentacion-pdf.pdf
434671070-YuMi-Presentacion-pdf.pdf434671070-YuMi-Presentacion-pdf.pdf
434671070-YuMi-Presentacion-pdf.pdf
 
Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...
 
Comprehensive Analysis of Software Development Life Cycle Models
Comprehensive Analysis of Software Development Life Cycle ModelsComprehensive Analysis of Software Development Life Cycle Models
Comprehensive Analysis of Software Development Life Cycle Models
 
Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...
Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...
Predicting Machine Learning Pipeline Runtimes in the Context of Automated Mac...
 
Software or Service? That’s the question!
Software or Service? That’s the question!Software or Service? That’s the question!
Software or Service? That’s the question!
 
Software or service that's the question luigi buglione
Software or service that's the question   luigi buglioneSoftware or service that's the question   luigi buglione
Software or service that's the question luigi buglione
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 

Mehr von Heiko Koziolek

Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Heiko Koziolek
 
Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
Heiko Koziolek
 
The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software Applications
Heiko Koziolek
 
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Heiko Koziolek
 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...
Heiko Koziolek
 

Mehr von Heiko Koziolek (19)

Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
 
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
 
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of ThingsOpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT Systems
 
IoT challenges for Smart Manufacturing
IoT challenges for Smart ManufacturingIoT challenges for Smart Manufacturing
IoT challenges for Smart Manufacturing
 
Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"
 
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin ShellsPlug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
 
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
 
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
 
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability AnalysisMORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
 
Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
 
The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software Applications
 
Towards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software SystemsTowards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software Systems
 
Towards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software ApplicationsTowards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software Applications
 
PerOpteryx
PerOpteryxPerOpteryx
PerOpteryx
 
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...
 
Parameter Dependencies for Component Reliability Specifications
Parameter Dependencies for Component Reliability SpecificationsParameter Dependencies for Component Reliability Specifications
Parameter Dependencies for Component Reliability Specifications
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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?
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
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...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

A Large-Scale Industrial Case Study on Architecture-based Software Reliability Analysis

  • 1. © ABB Group January 30, 2015 | Slide 1 A Large-Scale Industrial Case Study on Architecture-based Software Reliability Analysis Heiko Koziolek, Bastian Schlich, Carlos Bilich, ABB Corporate Research, 2010-11-01
  • 2. Architecture-based Software Reliability Analysis (ABSRA) What?  Typical questions of software architects concerning reliability  „What is the reliability (probability of failures) in my system?“  „How do individual components contribute to the system reliability?“  „Which architectural alternative is best for reliability?“  „Where shall I introduce fault-tolerance mechanisms?“  „How to distribute my limited testing efforts among components?“  Additional questions by ABB  „How much more reliable is a new architecture than a former one?“  „Does ABSRA work on large-scale systems?“ © ABB Group January 30, 2015 | Slide 2
  • 3. Architecture-based Software Reliability Analysis (ABSRA) How? © ABB Group January 30, 2015 | Slide 3 Software components, control flow, reliabilities R=0.995 R=0.982 R=0.937 Markov Model combine Markov Model Solution trans- form R = 0.9923 Predicted system reliability solve im- prove
  • 4. Related work Existing empirical studies © ABB Group January 30, 2015 | Slide 4 ”… very little effort has been devoted to the validation of architecture-based software reliability techniques.” [Gokhale2007, IEEE Transactions on Dependable and Secure Computing, Vol. 4, No. 1] Source Name Year Lang. LOC # Components [Gokhale2004, Perf. Eval.] SHARPE 1998 C 35,000 30 [Goseva2001, ISSRE] ESA 2001 C 10,000 3 [Goseva2005, ISSRE] GCC 2005 C 350,000 13 [Wang2005, JSS] SMS 2006 C/C++ 13,000 15 [Goseva2006, ISSRE] IDN 2006 C 11,000 6 Source Name Year Lang. LOC # Components [Gokhale2004, Perf. Eval.] SHARPE 1998 C 35,000 30 [Goseva2001, ISSRE] ESA 2001 C 10,000 3 [Goseva2005, ISSRE] GCC 2005 C 350,000 13 [Wang2005, JSS] SMS 2006 C/C++ 13,000 15 [Goseva2006, ISSRE] IDN 2006 C 11,000 6 Our Paper ABB 2010 C++ >3,000,000 8 (>100)
  • 5. System under study: Process control system © ABB Group January 30, 2015 | Slide 5
  • 6. System under study: Process control system Topology © ABB Group January 30, 2015 | Slide 6 Plant / Office Network Network Isolation Device Remote Workplaces Firewall Internet Remote Workplaces Redundant Network Workplaces Controllers Servers Fieldbus Remote I/O and Field devices
  • 7. System under study: Process control system Subsystems within the servers © ABB Group January 30, 2015 | Slide 7
  • 8. Which steps are required for ABSRA? Estimate component failure probabilities Estimate transition probabilities Construct the Markov model Exploit the results © ABB Group January 30, 2015 | Slide 8
  • 9. Estimate component failure probabilities Existing methods Code metrics [Nagappan2006] • Validity debated Reliability growth modeling [IEEE Std 1633-2008] • Requires component failure reports Random/statistical testing [Miller1992] • Does not scale, difficult to apply on components Fault injection [Gokhale2004] • Does not determine the current reliability Explicit failure modeling [Cheung2008] • Accuracy unknown © ABB Group January 30, 2015 | Slide 9
  • 10. Reliability growth modeling General principle © ABB Group January 30, 2015 | Slide 10   0, )( ))(exp()()( ),,( 1      l lilii ilg     Littlewood/Verrall Model
  • 11. Reliability growth modeling Using the Littlewood/Verrall-model on one subsystem © ABB Group January 30, 2015 | Slide 11  Filtered subsystem bug list  Release dates  Curve fitting in CASRE 3.0 http://www.openchannelsoftware.com/projects/CASRE_3.0/
  • 12. Reliability growth modeling Result © ABB Group January 30, 2015 | Slide 12 R1= ... R8= ... R4= ... R3= ... R5= ... R6= ... R7= ... R2= ...
  • 13. Which steps are required for ABSRA? Estimate component failure probabilities Estimate transition probabilities Construct the Markov model Exploit the results © ABB Group January 30, 2015 | Slide 13
  • 14. Estimate component transition probabilities Existing methods Exploiting design document [Gokhale2007] • Only static dependencies in SW architecture Profiling [Goseva2005] • Complicated filtering of data required Manual code instrumentation • Can be time-comsuming © ABB Group January 30, 2015 | Slide 14
  • 15. Self-coded script Estimate component transition probabilities Profiling with proprietary tools © ABB Group January 30, 2015 | Slide 15 Example trace from profiling Set up and ran the system
  • 16. Which steps are required for ABSRA? Estimate component failure probabilities Estimate transition probabilities Construct the Markov model Exploit the results © ABB Group January 30, 2015 | Slide 16
  • 17. Construct the Markov model Existing state-based methods [Littlewood1979] [Cheung1980] [Laprie1984] [Kubat1989] [Gokhale1998] [Ledoux1999] [Gokhale1998-2] © ABB Group January 30, 2015 | Slide 17 [Goseva-Popstojanova2001]
  • 18. Cheung model Adding failure & end states, compute reliability © ABB Group January 30, 2015 | Slide 18 [Cheung1980]
  • 19. Which steps are required for ABSRA? Estimate component failure probabilities Estimate transition probabilities Construct the Markov model Exploit the results © ABB Group January 30, 2015 | Slide 19
  • 20. Exploit the results Possibilities Estimate system reliability [Cheung1980] • Experience by customers hard to validate Conduct sensitivity analysis [Gokhale2002] • Study system reliability for varying component failure rates Assess costs of bugs [Cheung1980] • Quantify the effect of an error in component Evaluate design alternatives [Goseva2001] • Values for new componentes need to be guessed Allocate test budgets efficiently [Pietrantuono2010] • Test critical components more often © ABB Group January 30, 2015 | Slide 20
  • 21. Sensitivity Analysis Impact of varying subsystem failure rates © ABB Group January 30, 2015 | Slide 21 http://www.prismmodelchecker.org/
  • 22. Evaluation Cost estimations in person hours (best/worst case) © ABB Group January 30, 2015 | Slide 22
  • 23. Conclusions Lessons learned  Getting failure and transition probabilities is hard  Time consuming, error-prone, limited automation   Main obstacle for ABSRA is data collection  Currently rather simple models  No technologies, concurrency, hardware  Difficult to evaluate architecture alternatives  Limited decision support from the predictions  Lack of empirical studies in literature  Predominantly small systems  Often dubious techniques for estimating failure rates  Replicated case studies needed © ABB Group January 30, 2015 | Slide 23
  • 24. © ABB Group January 30, 2015 | Slide 24

Hinweis der Redaktion

  1. Why is this done? Benefits:- Determine components most contributing to software architecture- Allocate testing efforts, goals for testing units- Evaluate design alternatives, improve architecture- More reliabile system, quantitative numbers
  2. report on experiences and methods usedlessons learnedwhat needs to be improved (from our perspective)
  3. 3 MLOC C++, COM, ATL9 subsystems, >100 componentsmanaging industrial process (e.g., power generation, paper production, oil and gas refining, etc.)distributed system, controllers, servers, networks, field devicesoperator workplace for controlling the process: montoring sensor readings, manipulating actuators
  4. - also agenda of the rest of the talk
  5. Schrift größer, weniger text
  6. -Selected Littlewood/Verrall model from IEEE Std. 1633Industry affinity (SCADA), good fit in initial testsTime between failures exponentially distributed:Repair may introduce new faults, repair time = 0  is a random variable with Gamma distributionWe were able to fit the whole dataset without filtering data at5% significance level with the quadratic Littlewood/Verrallmodel (LV-Q)failure reports are often not mapped to components in bug tracking systemsdifficult to select a Modeltoo many models availablestatistical validity hard
  7. failure data from bugtracker, filtered for critical/high severity bugsquadratic model: programmers have good intentions in fixing the codedone for each subsystem, result: 9 failure probabilities
  8. Installed and configured the systemDefined 2 load profiles, configured load driversConfigured ABB tool to log subsystem transitionsExecuted load drivers for each profile (2 days)Processed logs (2 GB) with scriptAdded initial, final stateCalculate transition probabilitiesValidated the modelCompared with architectural documentationInterviewed PCS experts
  9. - Q: transition probabilitiy matrix (by eliminating failure state)S: steady state probabilitiesR: system reliability (probability of reaching the successstate
  10. units obfuscated for confidentiality reasonssubsystem 8 has highest failure probabilitysubsystem 1 has highest sensitivity to system reliabilitysubsystem 6 is used by many subsystems, but only limited contribution to system reliability
  11. verteilung erklärenMany variation points, limited step-by-step guidanceTime-consuming data collection for non-expertsBest for for small changes to existing systemsNeeds to be tailored to available data