A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar 2004 1980 Roger C. Cheung.

Slides:



Advertisements
Similar presentations
Lecture 5 This lecture is about: Introduction to Queuing Theory Queuing Theory Notation Bertsekas/Gallager: Section 3.3 Kleinrock (Book I) Basics of Markov.
Advertisements

Based on: Petri Nets and Industrial Applications: A Tutorial
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 7: User-Defined Functions II.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 7: User-Defined Functions II.
Chapter 7: User-Defined Functions II
Chapter 7: User-Defined Functions II Instructor: Mohammad Mojaddam.
Modeling and Simulation Monte carlo simulation 1 Arwa Ibrahim Ahmed Princess Nora University.
Programming Logic and Design, Third Edition Comprehensive
CS 795 – Spring  “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends.
Markov Analysis Jørn Vatn NTNU.
Андрей Андреевич Марков. Markov Chains Graduate Seminar in Applied Statistics Presented by Matthias Theubert Never look behind you…
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
CSE 322: Software Reliability Engineering Topics covered: Architecture-based reliability analysis.
Software Testing. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing.
Lecture 9 Hidden Markov Models BioE 480 Sept 21, 2004.
Chapter 18 Testing Conventional Applications
Stochastic Process1 Indexed collection of random variables {X t } t   for each t  T  X t is a random variable T = Index Set State Space = range.
CSE 221: Probabilistic Analysis of Computer Systems Topics covered: Analysis of software reliability and performance.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
ECE355 Fall 2004Software Reliability1 ECE-355 Tutorial Jie Lian.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
CSCI 5801: Software Engineering
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Computer Programming and Basic Software Engineering 4. Basic Software Engineering 1 Writing a Good Program 4. Basic Software Engineering.
ECE 355: Software Engineering
Software Project Management Fifth Edition
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
Evaluation of Safety Critical Software -- David L. Parnas, -- A. John van Schouwen, -- Shu Po Kwan -- June 1990 Presented By Zhuojing Li.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Agenda Introduction Overview of White-box testing Basis path testing
C++ Programming: From Problem Analysis to Program Design, Fifth Edition, Fifth Edition Chapter 7: User-Defined Functions II.
Foundations of Software Testing Chapter 1: Preliminaries Last update: September 3, 2007 These slides are copyrighted. They are for use with the Foundations.
6 Chapter 61 Looping Programming Logic and Design, Second Edition, Comprehensive 6.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 14a: Software Testing Techniques Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 10 Algorithm Analysis.  Introduction  Generalizing Running Time  Doing a Timing Analysis  Big-Oh Notation  Analyzing Some Simple Programs.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Relevant Subgraph Extraction Longin Jan Latecki Based on : P. Dupont, J. Callut, G. Dooms, J.-N. Monette and Y. Deville. Relevant subgraph extraction from.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
Theory and Practice of Software Testing
Agent program is the one part(class)of Othello program. How many test cases do you have to test? Reversi [Othello]
TESTING FUNDAMENTALS BY K.KARTHIKEYAN.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Testing i. explain the importance of system testing and installation planning;
Adding Dynamic Nodes to Reliability Graph with General Gates using Discrete-Time Method Lab Seminar Mar. 12th, 2007 Seung Ki, Shin.
Chapter 7: User-Defined Functions II
Hardware & Software Reliability
Availability Availability - A(t)
Cyclomatic complexity
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
Lesson 05: Iterations Class Chat: Attendance: Participation
Verification and Validation Overview
Course Description Algorithms are: Recipes for solving problems.
User-Defined Functions
Software Reliability Models.
Software testing strategies 2
Chapter 7: User-Defined Functions II
Course Description Algorithms are: Recipes for solving problems.
Software Testing.
Presentation transcript:

A User-Oriented Software Reliability Model Per Trygve Myhrer 20 februar Roger C. Cheung

Overview Intro to Markov model Software reliability Model for Software Reliability Model of a program Reliability of system Use of the model Conclusion 2

Markov model System states, seen as nodes Probabilities of transitions Conditions for a Markov model: Probabilities are constants No memory of paste states N1N1 N2N2 N3N3 N4N4 P 12 P 13 P 14 P 34 P 24 P 31 P 41 Transition matrix To Node N1N1 N2N2 N3N3 N4N4 From Node N1N1 P 11 P 12 P 13 P 14 N2N2 P 21 P 22 0P 24 N3N3 P 31 0P 33 P 34 N4N4 P P 44 P 21 3

Software reliability 1 Difficult to give a formal definition on “software reliability” One if correct, and zero if incorrect Counting bugs in a program –Not interesting for user Failure: If output are incorrect or indefinitely delayed 4

Software reliability 2 Reliability: probability that a program gives correct output with a typical set of input data from user environment Reliability depends on user profile Nonexecuted code have no influence on output Little used modules might be less important for reliability of the system 5

Module A module is defined to perform a particular function Reliability of a module: –Probability that the module performs the function correctly A module passes result to next module A module is logical independent –For design, programming and testing 6

Model for Software Reliability Program runs correct only if the correct sequence of modules are executed and every module executed gives the correct result The reliability of the modules are independent. –The probability of a module executed correct are depended on the present module only and is independent of the past history Model is a graph with Markov behaviour –Probabilities are constants –No memory of paste states 7

Model of a program 1 The program is seen as a graph Assumes there is one entry node and one exit node Every transition from node N i to node N j has a probability of P ij –If no connection between N i and N j, then P ij = 0 N1N1 N2N2 N3N3 N4N4 P 12 P 13 P 14 P 34 P 24 P 31 P 21 Output Input 8

Model of a program 2 Adds R i, that is the reliability of a module Two new exit states are added –C program return correct output –F if any module have a fault, the program do not return correct output New transitions N1N1 N2N2 N3N3 N4N4 R 1 P 12 R 1 P 13 R 1 P 14 R 3 P 34 R 2 P 24 R 3 P 31 R 2 P 21 F C 1-R 1 1-R 2 1-R 3 1-R 4 R4R4 9

Reliability of system 1 Transition matrix of the system, P P To Node CFN1N1 N2N2 N3N3 N4N4 From Node C F N1N1 01-R 1 0R 1 P 12 R 1 P 13 R 1 P 14 N2N2 01-R 2 R 2 P 21 00R 2 P 24 N3N3 01-R 3 R 3 P 31 00R 3 P 34 N4N4 R4R4 1-R

Reliability of system 2 P n (i,j) – probability that the system goes from the starting state i, and that the system enters the absorbing states j  {C,F} at or before the nth step The reliability of the system is the probability that it gets to state C, when starting at node,N 1 and n →∞ R = P n (N 1,C) 11

Use of the model Measure reliability Possible to measure for what modules increasing reliability will affect reliability of the system most Can use a more effective testing strategy Critical modules that have been shown to be reliable should be avoided changing Not all bugs are equally costly 12

Conclusion The article follows IMRAD Research methods –Look into what exists of models –Made a mathematic model –Test on a small experiment 13

Questions ?