SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Destacado

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 VDIS10009Virtu Institute
 
Master Planning for a Sustainable Campus
Master Planning for a Sustainable CampusMaster Planning for a Sustainable Campus
Master Planning for a Sustainable CampusUNC FocusFoward
 
04 07 المحاضرة الرابعة- السابعة
04 07 المحاضرة الرابعة- السابعة04 07 المحاضرة الرابعة- السابعة
04 07 المحاضرة الرابعة- السابعةKhaled Ali
 
architecture case study bba msu
architecture case study bba msuarchitecture case study bba msu
architecture case study bba msuNisarg bhavsar
 
The bauhaus presentation
The bauhaus presentation The bauhaus presentation
The bauhaus presentation uguntina161616
 
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
 
Bauhaus presentation
Bauhaus presentation Bauhaus presentation
Bauhaus presentation chaegawoon
 
Bauhaus final ppt
Bauhaus final pptBauhaus final ppt
Bauhaus final pptSajida Shah
 

Destacado (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
 

Similar a Industrial Case Study on Architecture-based Software Reliability Analysis

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 ABBHeiko Koziolek
 
The Business Value of SW Quality
The Business Value of SW QualityThe Business Value of SW Quality
The Business Value of SW QualitySQALab
 
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 FootprintIRJET Journal
 
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
 
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...IRJET Journal
 
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 MQStuart Feasey
 
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)...Paul Brebner
 
VARIADORES DE FRECUENCIA ACS880 ABB - EECOL
VARIADORES DE FRECUENCIA ACS880  ABB -  EECOLVARIADORES DE FRECUENCIA ACS880  ABB -  EECOL
VARIADORES DE FRECUENCIA ACS880 ABB - EECOLDANILO PULIDO CARRASCO
 
IRJET - Hardware Benchmarking Application
IRJET - Hardware Benchmarking ApplicationIRJET - Hardware Benchmarking Application
IRJET - Hardware Benchmarking ApplicationIRJET Journal
 
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...Luigi Buglione
 
434671070-YuMi-Presentacion-pdf.pdf
434671070-YuMi-Presentacion-pdf.pdf434671070-YuMi-Presentacion-pdf.pdf
434671070-YuMi-Presentacion-pdf.pdfAHMEDSTITOU3
 
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 ...Paul Brebner
 
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 ModelsIRJET Journal
 
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...IRJET Journal
 
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 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 buglioneIWSM Mensura
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projectsDaniel Ionita
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 

Similar a 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
 

Más de Heiko Koziolek

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...Heiko Koziolek
 
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...Heiko Koziolek
 
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 ThingsHeiko Koziolek
 
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 EngineeringHeiko Koziolek
 
Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsHeiko Koziolek
 
IoT challenges for Smart Manufacturing
IoT challenges for Smart ManufacturingIoT challenges for Smart Manufacturing
IoT challenges for Smart ManufacturingHeiko Koziolek
 
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"Heiko Koziolek
 
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 ShellsHeiko Koziolek
 
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...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
 
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 AnalysisHeiko 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 ReviewHeiko 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 ApplicationsHeiko Koziolek
 
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 SystemsHeiko Koziolek
 
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 ApplicationsHeiko 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
 
Parameter Dependencies for Component Reliability Specifications
Parameter Dependencies for Component Reliability SpecificationsParameter Dependencies for Component Reliability Specifications
Parameter Dependencies for Component Reliability SpecificationsHeiko Koziolek
 

Más de 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
 

Último

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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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 DevelopmentsTrustArc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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 CVKhem
 
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...Drew Madelung
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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
 
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
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Último (20)

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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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...
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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...
 
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
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

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

Notas del editor

  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