Reliability Modeling for Design Diversity: A Review and Some Empirical Studies Teresa Cai Group Meeting April 11, 2006.

Slides:



Advertisements
Similar presentations
Design of Experiments Lecture I
Advertisements

An Empirical Study on Reliability Modeling for Diverse Software Systems Xia Cai and Michael R. Lyu Dept. of Computer Science & Engineering The Chinese.
1 A class of Generalized Stochastic Petri Nets for the performance Evaluation of Mulitprocessor Systems By M. Almone, G. Conte Presented by Yinglei Song.
Availability in Globally Distributed Storage Systems
Making Services Fault Tolerant
Coverage-Based Testing Strategies and Reliability Modeling for Fault- Tolerant Software Systems Presented by: CAI Xia Supervisor: Prof. Michael R. Lyu.
Software Reliability Engineering: A Roadmap
1 Testing Effectiveness and Reliability Modeling for Diverse Software Systems CAI Xia Ph.D Term 4 April 28, 2005.
Software Testing Using Model Program DESIGN BY HONG NGUYEN & SHAH RAZA Dec 05, 2005.
An Empirical Study on Testing and Fault Tolerance for Software Reliability Engineering Michael R. Lyu, Zubin Huang, Sam Sze, Xia Cai The Chinese University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Evaluating Hypotheses
An Experimental Evaluation on Reliability Features of N-Version Programming Xia Cai, Michael R. Lyu and Mladen A. Vouk ISSRE’2005.
Constructing Reliable Software Components Across the ORB M. Robert Rwebangira Howard University Future Aerospace Science and Technology.
Lecture 10 Comparison and Evaluation of Alternative System Designs.
7-2 Estimating a Population Proportion
Lehrstuhl für Informatik 2 Gabriella Kókai: Maschine Learning 1 Evaluating Hypotheses.
1 Making Services Fault Tolerant Pat Chan, Michael R. Lyu Department of Computer Science and Engineering The Chinese University of Hong Kong Miroslaw Malek.
University of Southern California Center for Software Engineering CSE USC ©USC-CSE 3/11/2002 Empirical Methods for Benchmarking High Dependability The.
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
Software Reliability Categorising and specifying the reliability of software systems.
Software Reliability Model Deterministic Models Probabilistic Models Halstead’s software metric McCabe’s cyclomatic complexity metrix Error seeding Failure.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
ECE 355: Software Engineering
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
1 740f02frankl25 Evaluating Testing Methods by Delivered Reliability Frankl, Hamlet, Littlewood, Strigini IEEE TOSE Aug98.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 2.
CSCE 548 Secure Software Development Test 1 Review.
Section Copyright © 2014, 2012, 2010 Pearson Education, Inc. Lecture Slides Elementary Statistics Twelfth Edition and the Triola Statistics Series.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
CS, AUHenrik Bærbak Christensen1 Fault Tolerant Architectures Lyu Chapter 14 Sommerville Chapter 20 Part II.
Yaomin Jin Design of Experiments Morris Method.
INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Fall Quarter, 2007 Michele Rousseau Set 12 (Some slides adapted from Sommerville 2000 &
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Reliability in Nuclear Systems Arsen Papisyan Anthony Gwyn.
Managerial Economics Demand Estimation & Forecasting.
Building Dependable Distributed Systems Chapter 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4b) Department of Electrical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
CprE 458/558: Real-Time Systems
Simultaneously Learning and Filtering Juan F. Mancilla-Caceres CS498EA - Fall 2011 Some slides from Connecting Learning and Logic, Eyal Amir 2006.
RELIABILITY ENGINEERING 28 March 2013 William W. McMillan.
Lecture 10: Correlation and Regression Model.
Rescaling Reliability Bounds for a New Operational Profile Peter G Bishop Adelard, Drysdale Building, Northampton Square,
1. What do you understand by software engineering? Discuss the role of engineering software development. 2. What do you understand by software requirement.
Research Design Week 6 Part February 2011 PPAL 6200.
Experimentation in Computer Science (Part 2). Experimentation in Software Engineering --- Outline  Empirical Strategies  Measurement  Experiment Process.
WERST – Methodology Group
Software Quality Assurance and Testing Fazal Rehman Shamil.
8/23/00ISSTA Comparison of Delivered Reliability of Branch, Data Flow, and Operational Testing: A Case Study Phyllis G. Frankl Yuetang Deng Polytechnic.
CSE 8377 Software Fault Tolerance. CSE 8377 Motivation Software is becoming central to many life- critical systems Software is created by error-prone.
1 Developing Aerospace Applications with a Reliable Web Services Paradigm Pat. P. W. Chan and Michael R. Lyu Department of Computer Science and Engineering.
Martin Hoffman Monica Hoffman. Goal To determine if a correlation exists between specified internal and dependability (external) metrics.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Structuring Redundancy for Fault Tolerance Chapter 2 Designed by: Hadi Salimi Instructor: Dr. Mohsen Sharifi.
1841f06detprob4 Testing Basics Detection probability.
18/05/2006 Fault Tolerant Computing Based on Diversity by Seda Demirağ
Week#3 Software Quality Engineering.
Software Defects Cmpe 550 Fall 2005
Chapter 14 Introduction to Multiple Regression
Reading This lecture: B. Littlewood, P. Popov, L. Strigini, "Modelling software design diversity - a review", ACM Computing Surveys, Vol. 33, No. 2, June.
MSA / Gage Capability (GR&R)
Random Testing: Theoretical Results and Practical Implications IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 2012 Andrea Arcuri, Member, IEEE, Muhammad.
Software Fault Interactions and Implications for Software Testing
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
Testing, Reliability, and Interoperability Issues in CORBA Programming Paradigm 11/21/2018.
Presented by: CAI Xia Ph.D Term2 Presentation April 28, 2004
Evaluating Testing Methods by Delivered Reliability
Presentation transcript:

Reliability Modeling for Design Diversity: A Review and Some Empirical Studies Teresa Cai Group Meeting April 11, 2006

2 Outline Introduction Reliability modeling on design diversity Empirical Studies Possible directions Conclusion

3 Software reliability engineering techniques and their application domains Fault (Defect)Fault (Failure)... -> Defects -> Faults -> Errors -> Failures ->... AvailabilityReliabilitySafetySecurity Avoidance Fault Removal Fault (Error) TolerancePrediction

4 Introduction Software fault tolerance adopts two main techniques on top of fault avoidance and fault removal Single version techniques: checkpointing and recovery; Exception handling; Data diversity Multiple version techniques: Recovery blocks N-version programming N-version self-checking programming

5 N-Version Programming (NVP) fault tolerant software architecture Examples: N-Version Programming (NVP)

6 Introduction The rationale is the expectation that software components built differently will fail differently The probability of coincident failures in multiple versions remains the key issue in design diversity Reliability models attempt to the modeling of reliability and fault correlations in diverse systems Empirical data are highly demanded for evaluation and cross-validation of the usefulness and/or effectiveness of these models

7 Eckhardt and Lee (1985) Variation of difficulty on demand space Positive correlations between version failures Littlewood and Miller (1989) Forced design diversity Possibility of negative correlations Dugan and Lyu (1995) Markov reward model Tomek and Trivedi (1995) Stochastic reward net Popov, Strigini et al (2003) Subdomains on demand space Upper bounds and “likely” lower bounds for reliability Conceptual models Structural models In between Current Reliability Modeling

8 Eckhardt and Lee Model Assumption: Failures of an individual program π are deterministic and a program version either fails or succeeds for each input value x; There is a randomness due to the development process. P(π) is the probability that a particular version π will be produced from the set of all possible program version Π There is a randomness due to the demands in operation. P(x): probability of selection of a given input demands x in the set of all possible demands X.

9 Eckhardt and Lee Model Score function ω(x) = 0: program πsucceeds for input x ω(x) = 1: program πfails for input x Difficulty function: the average probability of a program version failing on a given demand

10 Eckhardt and Lee Model The average probability of failure per demand (pfd) of a randomly chosen single version: The average pfd of randomly chosen pair of program versions:

11 Eckhardt and Lee Model If for process A and B, the difficulty functions are identical and constant: Otherwise, it is always the case that:

12 Littlewood and Miller Model Assumption: the same as EL model The LM model generalizes the EL model to take account to forced diversity by defining different distributions over the population of all program.

13 Littlewood and Miller Model Independence: Cov(A<B) = 0 Positive correlated: Cov(A 0 Negative correlated: Cov(A<B) < 0 Basic intuition: What you find difficult, I may find easy (or at least easier) Forced diversity: diverse processes and techniques are employed to force the diversity of final program versions

14 Popov and Strigini Model Alternative estimates for probability of failures on demand (pfd) of a 1-out-of-2 system

15 Popov and Strigini Model Upper bound of system pfd “likely” lower bound of system pfd - under the assumption of conditional independence

16 Empirical studies Various projects have been conducted to investigate and evaluate the effectiveness of design diversity evaluations on the effectiveness and cost issues of the final product of diverse systems Avizienis and Chen (1977) Knight and Leveson (1986) NASA-4 University project (1990) experiments evaluating the design process of diverse systems Avizienis (1995) adoption of design diversity into different aspects of software engineering practice Popov & Strigini (2003)

17 Recent simple empirical studies on difficulty functions From Center for Software Reliability, City University First experiment: “Online Judge” On-line spec / submission / testing 3444 C program versions Source code: about 20 Input domain: 2500 input pairs Second experiment: ACM program contest Contest Host problem 2666 program versions fall into 34 equivalence classes, while 5 classes dominates 98% of the population Input domain: input pairs

18 First experiment Difficulty functions Expected pdfs Dominated faults are spec faults

19 Second experiment Difficulty functions with / without spec faults for initial release

20 Second experiment Difficulty functions without spec faults

21 Second experiment Comparison of expected probability of failure on demand

22 Second experiment Observation Difficulty functions are relative flat The increase in the pfd of a diverse pair relative to the independence assumption is small for all population Limitations Simple programs The input domain may not be representative for real world application

23 Our on-going work Two program pools on RSDIMU project C vs. PASCAL 34 versions vs. 20 versions 100 million test cases generated Fault correlation analysis in and between: 34 C program versions 20 Pascal program versions Between the two

24 Our objective Is there any difference between the fault correlation in two different program pools? Does diversity (different programming languages and process) have any influence on the fault correlation of the final programs? What’s the benefit or loss in diversity with this empirical study?