Software Architecture-Based Reliability Prediction Techniques: an Overview Lucie Fabriková, Stanislav Chren FI MU 13 November 2012 LaSArIS Outline Motivation for software architecture reliability prediction Overview of main techniques Example of real tool Current and future research LaSArIS Software Architecture in General Software architecture Modules Connectors Deployment on hardware resources LaSArIS Definition of Reliability Dependability vs. reliability Meanings of reliability: Probability of a failure-free operation (information systems) Failure intensity during specified time interval (embedded systems) LaSArIS Motivation Residual failure rate Architectural design decisions Identification of critical components Resource allocation planning LaSArIS Reliability Analysis Approaches Black-box White-box LaSArIS Reliability Analysis Approaches – 1/2 Black-box approach Interactions with external environment Failures + downtimes Statistical testing → later stages SRGM LaSArIS SRGM (Software Reliability Growth Models) Get sample data ↓ Fit to curve ↓ Get function parameters ↓ Predict reliability in future LaSArIS SRGM (Software Reliability Growth Models) Real-world example Railway interlocking software system (Australia, 2011) Data set = 199 records LaSArIS Limitations of SRGM Approach How to. . . ensure consistency of tests? get source of failures? determine reusability of system? LaSArIS Reliability Analysis Approaches – 2/2 White-box approach Reliabilities of components, connectors Various information resources Early stages of lifecycle Identify critical components LaSArIS White-Box Approaches Path-based Execution paths No loops LaSArIS White-Box Approaches State-based Component, action, step of scenario Architectural model + failure behavior State explosion Cheung model LaSArIS White-Box Reliability Prediction Collect data from requirements ↓ Transform data to model parameters ↓ Create formal model ↓ Analyse reliability LaSArIS Input Parameters of Models Architectural model: Component reliability Transition probability Operational profile Usage profile Failure behavior model: Failure rate Time to recover LaSArIS Data Collection Resources Specification UML diagrams Similar/predecessor projects Expert knowledge . . . LaSArIS Data Collection – Example Usage and operational profile Use case / activity diagram Requirements document LaSArIS Data Collection – Example 2 Failure behavior Activity diagram, fault injection, testing Transformation to MC LaSArIS Data Collection – Example 3 Transition probability Profiling Requirements document Trace data from simulation Activity diagram LaSArIS Formal models Markov chains Petri nets LaSArIS Possible Outputs of Reliability Techniques Number x ∈ R, x ∈ 0, 1 LaSArIS Possible Outputs of Reliability Techniques 2.1 Sensitivity of system reliability to component reliability LaSArIS Possible Outputs of Reliability Techniques 3 Usage profile graph Design alternatives LaSArIS Tool Support for Reliability Prediction Palladio Component Model Reliability prediction tool (Karlsruhe Institute of Technology, cca 2009) Extension of Eclipse IDE Support for critical business and industrial processes Reliability for 4 developer roles LaSArIS Tool Support for Reliability Prediction 2 Palladio Component Model Highly-parametrized UML LaSArIS Our Ongoing Research Reliability prediction in early stages of lifecycle Define categories: goal, model, artifacts,. . . Research questions based on categories Examine correlation LaSArIS Possible Directions of Future Research Limitations of current techniques – no concurrency, distributed processes, failure propagation Usability of current reliability prediction techniques in clouds Other types of lifecycle methodics (agile, iterative, . . . ) Exact evaluation of contribution of reliability prediction techniques LaSArIS Related Research Areas at FI MU LaSArIS (Bühnová) Our research – Reliability in software architectures ParaDiSe ( ˇCerná, Barnat) Checking sanity of software requirements Reliabillity analysis in component-based development via probabilistic model checking LaSArIS Conclusion Motivation for software architecture reliability prediction Overview of main techniques Example of real tool Current and future research LaSArIS Thank you for your attention. LaSArIS