SlideShare une entreprise Scribd logo
1  sur  28
A
SEMINAR
ON
SOFTWARE RELIABILITY MODELING
By:
Poonam Panwar
Regd. No. 951011002
Under The Supervision of:
Dr. Arvind Kumar Lal
Associate Professor
School of Mathematics & Computer Applications
Thapar University, Patiala-147004 (Punjab)
TOPICS COVERED
 What is Software Reliability?
 Software Failure Mechanisms
 Hardware vs Software
 Measuring Software Reliability
 Software Reliability Models
 Statistical Testing
 Conclusion
2
WHAT IS SOFTWARE RELİABİLİTY?
 Precisely it may be defined as a product’s
trustworthiness or dependability.
 The probability of failure-free software operation for a
specified period of time in a specified environment.
 Probability of the product working “correctly” over a
given period of time in a specified environment.
3
AREAS OF S/W RELIABILITY
 Software Reliability Modeling
 Prediction Analysis
 Reliability Measurement
 Defect Classification
 Trend Analysis
 Field Data Analysis
 Software Metrics
 Software Testing and Reliability
 Fault-Tolerance
 Fault Trees
 Software Reliability Simulation
 Software Reliability Tools
4
SOFTWARE CHARACTERISTICS
 Failure cause: Software defects are mainly design defects.
 Wear-out: Software does not have wear-out phase.
 Repairable system concept: Periodic restarts can help fix
software problems.
 Time dependency and life cycle: Software reliability is not a
function of operational time.
 Environmental factors: Do not affect Software reliability, except
it might affect program inputs.
 Reliability prediction: Software reliability can not be predicted
from any physical basis, since it depends completely on human
factors in design.
 Redundancy: Can not improve Software reliability if identical
software components are used.
 Interfaces: Software interfaces are purely conceptual rather
visual.
 Built with standard components: Well-understood and
extensively-tested standard parts will help improve
maintainability and reliability. But in software industry, this trend
is not observed. Code reuse has been around for some time, but to a
very limited extent. Strictly speaking there are no standard parts
for software, except some standardized logic structures.
5
SOFTWARE FAİLURE MECHANİSMS
 Design Faults: Software faults are mainly design faults
which are harder to visualize, classify, detect, and correct.
 Interfaces: Software can fail if interfaces are not correct.
(Interfaces are conceptual rather than visual in case of
software.)
 Errors, Ambiguities, Oversights or Misinterpretation
in the software requirement specification.
 Carelessness or Incompetence in writing code.
 Inadequate testing.
 Incorrect or Unexpected usage of the software.
 Other unforeseen problems.
6
HARDWARE RELIABILITY CURVE
7
SOFTWARE RELIABILITY CURVE
8
MEASURİNG SOFTWARE
RELİABİLİTY
 Current approaches for measuring software reliability are
basically parallel to those used for hardware reliability
assessment with appropriate modifications in account for
the inherent differences between software and hardware.
 A number of Software reliability models have been
proposed to address the problem of software reliability
measurement. These approaches are based mainly on the
failure history of software and can be classified according to
the nature of the failure process.
 Assessed value of the software reliability measure is always
relative to a given use environment. Two users exercising
two different sets of paths in the same software are likely to
have different values of software reliability.
 Measuring software reliability remains a difficult problem
because we don't have a good understanding of the nature
of software. 9
o Transient: Transient failures occur only for
certain inputs.
o Permanent: Permanent failures occur for all
input values.
o Recoverable: When recoverable failures occur
the system recovers with or without operator
intervention.
o Unrecoverable: the system may have to be
restarted.
o Cosmetic: May cause minor irritations. Do not
lead to incorrect results. Eg. mouse button has to
be clicked twice instead of once to invoke a GUI
function.
FAİLURE CLASSES
10
SOFTWARE RELİABİLİTY
MODELING TECHNIQUES
 Software reliability modeling techniques
can be divided into two subcategories:
Prediction Modeling
Estimation Modeling.
 Both kinds of modeling techniques are
based on observing and accumulating
failure data and analyzing with statistical
inference.
11
COMPARISON OF SOFTWARE
RELİABİLİTY MODELING TECHNIQUES
ISSUES PREDICTION MODELS ESTIMATION MODELS
DATA REFERENCE Uses historical data Uses data from the
current software
development effort
WHEN USED IN
DEVELOPMENT
CYCLE
Usually made prior to
development or test
phases; is available as
early as concept phase
Usually made later in life
cycle(after some data
have been collected);
cannot be used in
concept or development
phases
TIME FRAME Predict reliability for
future time.
Estimate reliability at
either present or future
time
SOFTWARE RELİABİLİTY MODELS
 A software reliability model specifies the form of a
random process that describes the behavior of
software failures with respect to time.
 Software reliability models have emerged as
people try to understand the characteristics of how
and why software fails, and try to quantify
software reliability.
 Over 200 models have been developed since the
early 1970s, but how to quantify software
reliability still remains largely unresolved.
 There is no single model that can be used in all
situations. No model is complete or even
representative.
13
CATEGORIES OF SOFTWARE
RELIABILITY MODELS WITH KEY
ASSUMPTIONS
 Times Between Failures (TBF) Models
* Independent times between failures.
* Equal probability of the exposure of each fault.
* Embedded faults are independent of each other.
* Faults are removed after each occurrence.
* No new faults introduced during correction, i.e., perfect fault removal.
 Fault Count (FC) Models
* Testing intervals are independent of each other.
* Testing during intervals is reasonably homogeneous.
* Numbers of faults detected during non overlapping intervals are
independent of each other.
 Fault Seeding (FS) Models
* Seeded faults are randomly distributed in the program.
* Indigenous and seeded faults have equal probabilities of being detected.
 Input Domain Based (IDB) Models
* Input profile distribution is known.
* Random testing is used.
* Input domain can be partitioned into equivalent classes. 14
SOFTWARE RELIABILITY MODELS
15
16
17
COMPONENTS OF A SOFTWARE
RELİABİLİTY MODEL
 Most software models contain  the
following parts:
Assumptions,
Factors,
A mathematical function which relates
the reliability with the factors, which is
usually a higher order exponential or
logarithmic function.
18
SOME WELL KNOWN SOFTWARE
RELIABILITY MODELS
 Jelinsky and Moranda Model
 Basic Execution Time Model
 Logarithmic Poisson Time Model
 The Bug Seeding Model
 Shooman Model
 Littlewood-Verrall Model
 Goel-Okumoto Model
 Musa-Okumoto Model
19
This model is the earliest and probably the best known
reliability model. It proposed a failure intensity function
in the form:
λ(t)=φ(N-i+1)
Where
φ= constant of proportionality
N= total number of errors present
i= number of errors found by time interval ti
In this model each time an error is repaired reliability
does not increase by a constant amount.
Reliability improvement due to fixing of an error is
assumed to be proportional to the number of errors
present in the system at that time.
JELINSKI AND MORANDA MODEL
20
BASIC EXECUTION TIME MODEL
 This model was developed by J.D. Musa in 1979 and is
based on execution time.
 In this model, the decrease in failure intensity, as a
function of the number of failures observed, is
constant and is given as:
 Where λo: Initial Failure Intensity
 Vo: Number of failures experienced, if a program is
executed for infinite time period.
 µ: Average or expected number of failures experienced
at a given period of time.
 τ: execution time.
21
LOGARITHMIC POISSON TIME
MODEL
 This model is also developed by Musa et. al.
[MUSA79].
 The failure intensity function is different here as
compared to basic model. In this case the failure
intensity function decreases exponentially whereas it is
constant for basic model.
λ(µ)= λo exp(-θ µ)
Where
θ: called the failure intensity decay parameter. (represents the
relative change of failure intensity per failure experienced)
 The expected number of failures for this model is
always infinite at infinite time.
 At larger value of execution time, the logarithmic
poison time model will have larger value of failure
intensity than the basic model.
22
There is no universally applicable software
reliability model. So the given process is followed
to deploy a model.
SELECTION OF MODEL
After fitting a model
describing the failure
process, the total
number of faults in the
code, future failure
intensity and additional
time required to achieve
a failure intensity
objective can be
estimated.
23
UNCERTAINTIES IN SOFTWARE
RELİABİLİTY MODELING
TECHNIQUES
 There are two main types of uncertainties
which render any reliability measurement
inaccurate:
 Type 1 Uncertainty:
 our lack of knowledge about how the system will be
used, i.e. its operational profile
 Type 2 Uncertainty:
 reflects our lack of knowledge about the effect of
fault removal.
 When we fix a fault we are not sure if the corrections are
complete and successful and no other faults are
introduced
 Even if the faults are fixed properly we do not know how
much will be the improvement to inter-failure time. 24
STATİSTİCAL TESTİNG
 Statistical testing is a technique in which a
model of the statistical distribution of the input
is used to construct representative test cases.
 The objective of statistical testing is to determine
reliability rather than discover errors.
 It is different from defect testing.
 Different users have different operational profile
i.e. they use the system in different ways
(formally, operational profile).
 In statistical testing the input data is divided
into a number of input classes e.g. create, edit,
print, file operations, etc.
25
PERFORMING A STATISTICAL TEST
 Determine the operational profile of the software:
This can be determined by analyzing the usage
pattern.
 Manually select or automatically generate a set
of test data:
corresponding to the operational profile.
 Apply test cases to the program:
record execution time between each failure
it may not be appropriate to use raw execution
time
 After a statistically significant number of failures
have been observed:
reliability can be computed. 26
CONCLUSİONS
 Software reliability is a key part in
software quality.
 Software reliability improvement is hard.
 There are no generic models.
 Measurement is very important for
finding the correct model.
 Statistical testing should be used but it is
not easy.
 Software Reliability Modelling is not
simple.
27
1. Jintao Zeng, Jinzhong Li, Xiaohui Zeng, Wenlang Luo “A Prototype System of
Software Reliability Prediction and estimation” ,third International
symposium on Intelligent Information Technology and Security Informatics by
IEEE Computer Society, 2010.
2. Michael R. Lyu “Software Reliability Engineering: A Roadmap”, Future of
Software Engineering(FOSE’07) by IEEE, 2007.
3. Bing Chao, XiaoDong Zhu, Qiang Li, AnCe Huang “ Reliability Management
in Software Requirement Analysis”, IEEE International Conference on
Management of Innovation and Technology, 2006.
4. Rajesh Kumar Bawa, Arvind Kumar Lal and Navdeep Singh Jaggi “A Model
for Analysis of Software Reliability and Availability”, Proceedings of RPN
March 2004.
5. K K Aggarwal & Yogesh Singh “Software Engineering” 3rd
Edition, New Age
International Publishers, 2008.
6. Michael R. Lyu “Handbook of Software Reliability Engineering”, Computer
Society Press, 2006.
7. J.D. Musa “Software Reliability Engineering: More Reliable Software Faster
and Cheaper” 2nd Edition, AuthorHouse, 2004 .
8. K. S. Trivedi “Probability and Statistics with Reliability, Queuing and
Computer Science Applications” 2nd Edition, John Wiley and Sons, 2002.
References:
28

Contenu connexe

Tendances

Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
Mark Turner CRP
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
Philip Johnson
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 

Tendances (20)

Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Predict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is WrittenPredict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is Written
 
Principles of Software testing
Principles of Software testingPrinciples of Software testing
Principles of Software testing
 
Overview of software reliability engineering
Overview of software reliability engineeringOverview of software reliability engineering
Overview of software reliability engineering
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Chapter 7 software reliability
Chapter 7 software reliabilityChapter 7 software reliability
Chapter 7 software reliability
 
13 software metrics
13 software metrics13 software metrics
13 software metrics
 
estimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptxestimation-for-software-projects-chapter-26-ppt.pptx
estimation-for-software-projects-chapter-26-ppt.pptx
 
Unit1
Unit1Unit1
Unit1
 
Incremental model (software engineering)
Incremental model (software engineering)Incremental model (software engineering)
Incremental model (software engineering)
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
Control Flow Testing
Control Flow TestingControl Flow Testing
Control Flow Testing
 
Unit 1 basic concepts of testing & quality
Unit 1   basic concepts of testing & qualityUnit 1   basic concepts of testing & quality
Unit 1 basic concepts of testing & quality
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Defect removal effectiveness
Defect removal effectivenessDefect removal effectiveness
Defect removal effectiveness
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Defect prevention
Defect preventionDefect prevention
Defect prevention
 

En vedette

Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
Sandeep Patalay
 
Information20121017
Information20121017Information20121017
Information20121017
b-slash
 
Testing Frameworks And Methodologies
Testing Frameworks And MethodologiesTesting Frameworks And Methodologies
Testing Frameworks And Methodologies
Steven Cahill
 

En vedette (17)

Quality & Reliability in Software Engineering
Quality & Reliability in Software EngineeringQuality & Reliability in Software Engineering
Quality & Reliability in Software Engineering
 
Reliability growth models
Reliability growth modelsReliability growth models
Reliability growth models
 
Reliability growth models for quality management
Reliability growth models for quality managementReliability growth models for quality management
Reliability growth models for quality management
 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
 
Software Reliability Engineering
Software Reliability EngineeringSoftware Reliability Engineering
Software Reliability Engineering
 
TESEM: A Tool for Verifying Security Design Pattern Applications
TESEM: A Tool for Verifying Security Design Pattern ApplicationsTESEM: A Tool for Verifying Security Design Pattern Applications
TESEM: A Tool for Verifying Security Design Pattern Applications
 
Successive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular ApproachSuccessive Software Reliability Growth Model: A Modular Approach
Successive Software Reliability Growth Model: A Modular Approach
 
Information20121017
Information20121017Information20121017
Information20121017
 
Fault avoidance and fault tolerance
Fault avoidance and fault toleranceFault avoidance and fault tolerance
Fault avoidance and fault tolerance
 
ラーニング・バイ・コンテスト (Learning by Contest) ~ プログラミング学習のシフト ~
ラーニング・バイ・コンテスト(Learning by Contest)~ プログラミング学習のシフト ~ラーニング・バイ・コンテスト(Learning by Contest)~ プログラミング学習のシフト ~
ラーニング・バイ・コンテスト (Learning by Contest) ~ プログラミング学習のシフト ~
 
Software reliability engineering process
Software reliability engineering processSoftware reliability engineering process
Software reliability engineering process
 
Rayleigh model
Rayleigh modelRayleigh model
Rayleigh model
 
A Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationA Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software Application
 
ATAGTR2017 Differentiation using Testing Tools and Automation in the BFS COTS...
ATAGTR2017 Differentiation using Testing Tools and Automation in the BFS COTS...ATAGTR2017 Differentiation using Testing Tools and Automation in the BFS COTS...
ATAGTR2017 Differentiation using Testing Tools and Automation in the BFS COTS...
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
 
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
ATAGTR2017 Cost-effective Security Testing Approaches for Web, Mobile & Enter...
 
Testing Frameworks And Methodologies
Testing Frameworks And MethodologiesTesting Frameworks And Methodologies
Testing Frameworks And Methodologies
 

Similaire à Software Reliability

Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
Editor IJARCET
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
Editor IJARCET
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
ijceronline
 
Developing software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth modelDeveloping software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth model
IAEME Publication
 
Developing software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth modelDeveloping software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth model
IAEME Publication
 

Similaire à Software Reliability (20)

A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
A Review on Parameter Estimation Techniques of Software Reliability Growth Mo...
 
Spm unit v-software reliability-
Spm unit v-software reliability-Spm unit v-software reliability-
Spm unit v-software reliability-
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986
 
A Survey of Software Reliability factor
A Survey of Software Reliability factorA Survey of Software Reliability factor
A Survey of Software Reliability factor
 
A Combined Approach of Software Metrics and Software Fault Analysis to Estima...
A Combined Approach of Software Metrics and Software Fault Analysis to Estima...A Combined Approach of Software Metrics and Software Fault Analysis to Estima...
A Combined Approach of Software Metrics and Software Fault Analysis to Estima...
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
J034057065
J034057065J034057065
J034057065
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
 
SRGM Analyzers Tool of SDLC for Software Improving Quality
SRGM Analyzers Tool of SDLC for Software Improving QualitySRGM Analyzers Tool of SDLC for Software Improving Quality
SRGM Analyzers Tool of SDLC for Software Improving Quality
 
Developing software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth modelDeveloping software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth model
 
Developing software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth modelDeveloping software analyzers tool using software reliability growth model
Developing software analyzers tool using software reliability growth model
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault Tolerance
 
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE MethodParameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
Parameter Estimation of GOEL-OKUMOTO Model by Comparing ACO with MLE Method
 
D0423022028
D0423022028D0423022028
D0423022028
 
A survey of predicting software reliability using machine learning methods
A survey of predicting software reliability using machine learning methodsA survey of predicting software reliability using machine learning methods
A survey of predicting software reliability using machine learning methods
 
Software testing
Software testingSoftware testing
Software testing
 
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
A Novel Approach to Improve Software Defect Prediction Accuracy Using Machine...
 
IRJET- A Study on Software Reliability Models
IRJET-  	  A Study on Software Reliability ModelsIRJET-  	  A Study on Software Reliability Models
IRJET- A Study on Software Reliability Models
 

Plus de ranapoonam1 (10)

Software Testing strategies, their types and Levels
Software Testing strategies, their types and LevelsSoftware Testing strategies, their types and Levels
Software Testing strategies, their types and Levels
 
INTRODUCTION AND HISTORY OF R PROGRAMMING.pdf
INTRODUCTION AND HISTORY OF R PROGRAMMING.pdfINTRODUCTION AND HISTORY OF R PROGRAMMING.pdf
INTRODUCTION AND HISTORY OF R PROGRAMMING.pdf
 
2_SDLC.pptx
2_SDLC.pptx2_SDLC.pptx
2_SDLC.pptx
 
1_Introduction.pptx
1_Introduction.pptx1_Introduction.pptx
1_Introduction.pptx
 
2_MACHINE LEARNING.pptx
2_MACHINE LEARNING.pptx2_MACHINE LEARNING.pptx
2_MACHINE LEARNING.pptx
 
1_Introduction.pptx
1_Introduction.pptx1_Introduction.pptx
1_Introduction.pptx
 
Chapter 11-PCP.pdf
Chapter 11-PCP.pdfChapter 11-PCP.pdf
Chapter 11-PCP.pdf
 
8_Internet.pdf
8_Internet.pdf8_Internet.pdf
8_Internet.pdf
 
2_ICT.pdf
2_ICT.pdf2_ICT.pdf
2_ICT.pdf
 
Linux lecture5
Linux lecture5Linux lecture5
Linux lecture5
 

Dernier

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Dernier (20)

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 

Software Reliability

  • 1. A SEMINAR ON SOFTWARE RELIABILITY MODELING By: Poonam Panwar Regd. No. 951011002 Under The Supervision of: Dr. Arvind Kumar Lal Associate Professor School of Mathematics & Computer Applications Thapar University, Patiala-147004 (Punjab)
  • 2. TOPICS COVERED  What is Software Reliability?  Software Failure Mechanisms  Hardware vs Software  Measuring Software Reliability  Software Reliability Models  Statistical Testing  Conclusion 2
  • 3. WHAT IS SOFTWARE RELİABİLİTY?  Precisely it may be defined as a product’s trustworthiness or dependability.  The probability of failure-free software operation for a specified period of time in a specified environment.  Probability of the product working “correctly” over a given period of time in a specified environment. 3
  • 4. AREAS OF S/W RELIABILITY  Software Reliability Modeling  Prediction Analysis  Reliability Measurement  Defect Classification  Trend Analysis  Field Data Analysis  Software Metrics  Software Testing and Reliability  Fault-Tolerance  Fault Trees  Software Reliability Simulation  Software Reliability Tools 4
  • 5. SOFTWARE CHARACTERISTICS  Failure cause: Software defects are mainly design defects.  Wear-out: Software does not have wear-out phase.  Repairable system concept: Periodic restarts can help fix software problems.  Time dependency and life cycle: Software reliability is not a function of operational time.  Environmental factors: Do not affect Software reliability, except it might affect program inputs.  Reliability prediction: Software reliability can not be predicted from any physical basis, since it depends completely on human factors in design.  Redundancy: Can not improve Software reliability if identical software components are used.  Interfaces: Software interfaces are purely conceptual rather visual.  Built with standard components: Well-understood and extensively-tested standard parts will help improve maintainability and reliability. But in software industry, this trend is not observed. Code reuse has been around for some time, but to a very limited extent. Strictly speaking there are no standard parts for software, except some standardized logic structures. 5
  • 6. SOFTWARE FAİLURE MECHANİSMS  Design Faults: Software faults are mainly design faults which are harder to visualize, classify, detect, and correct.  Interfaces: Software can fail if interfaces are not correct. (Interfaces are conceptual rather than visual in case of software.)  Errors, Ambiguities, Oversights or Misinterpretation in the software requirement specification.  Carelessness or Incompetence in writing code.  Inadequate testing.  Incorrect or Unexpected usage of the software.  Other unforeseen problems. 6
  • 9. MEASURİNG SOFTWARE RELİABİLİTY  Current approaches for measuring software reliability are basically parallel to those used for hardware reliability assessment with appropriate modifications in account for the inherent differences between software and hardware.  A number of Software reliability models have been proposed to address the problem of software reliability measurement. These approaches are based mainly on the failure history of software and can be classified according to the nature of the failure process.  Assessed value of the software reliability measure is always relative to a given use environment. Two users exercising two different sets of paths in the same software are likely to have different values of software reliability.  Measuring software reliability remains a difficult problem because we don't have a good understanding of the nature of software. 9
  • 10. o Transient: Transient failures occur only for certain inputs. o Permanent: Permanent failures occur for all input values. o Recoverable: When recoverable failures occur the system recovers with or without operator intervention. o Unrecoverable: the system may have to be restarted. o Cosmetic: May cause minor irritations. Do not lead to incorrect results. Eg. mouse button has to be clicked twice instead of once to invoke a GUI function. FAİLURE CLASSES 10
  • 11. SOFTWARE RELİABİLİTY MODELING TECHNIQUES  Software reliability modeling techniques can be divided into two subcategories: Prediction Modeling Estimation Modeling.  Both kinds of modeling techniques are based on observing and accumulating failure data and analyzing with statistical inference. 11
  • 12. COMPARISON OF SOFTWARE RELİABİLİTY MODELING TECHNIQUES ISSUES PREDICTION MODELS ESTIMATION MODELS DATA REFERENCE Uses historical data Uses data from the current software development effort WHEN USED IN DEVELOPMENT CYCLE Usually made prior to development or test phases; is available as early as concept phase Usually made later in life cycle(after some data have been collected); cannot be used in concept or development phases TIME FRAME Predict reliability for future time. Estimate reliability at either present or future time
  • 13. SOFTWARE RELİABİLİTY MODELS  A software reliability model specifies the form of a random process that describes the behavior of software failures with respect to time.  Software reliability models have emerged as people try to understand the characteristics of how and why software fails, and try to quantify software reliability.  Over 200 models have been developed since the early 1970s, but how to quantify software reliability still remains largely unresolved.  There is no single model that can be used in all situations. No model is complete or even representative. 13
  • 14. CATEGORIES OF SOFTWARE RELIABILITY MODELS WITH KEY ASSUMPTIONS  Times Between Failures (TBF) Models * Independent times between failures. * Equal probability of the exposure of each fault. * Embedded faults are independent of each other. * Faults are removed after each occurrence. * No new faults introduced during correction, i.e., perfect fault removal.  Fault Count (FC) Models * Testing intervals are independent of each other. * Testing during intervals is reasonably homogeneous. * Numbers of faults detected during non overlapping intervals are independent of each other.  Fault Seeding (FS) Models * Seeded faults are randomly distributed in the program. * Indigenous and seeded faults have equal probabilities of being detected.  Input Domain Based (IDB) Models * Input profile distribution is known. * Random testing is used. * Input domain can be partitioned into equivalent classes. 14
  • 16. 16
  • 17. 17
  • 18. COMPONENTS OF A SOFTWARE RELİABİLİTY MODEL  Most software models contain  the following parts: Assumptions, Factors, A mathematical function which relates the reliability with the factors, which is usually a higher order exponential or logarithmic function. 18
  • 19. SOME WELL KNOWN SOFTWARE RELIABILITY MODELS  Jelinsky and Moranda Model  Basic Execution Time Model  Logarithmic Poisson Time Model  The Bug Seeding Model  Shooman Model  Littlewood-Verrall Model  Goel-Okumoto Model  Musa-Okumoto Model 19
  • 20. This model is the earliest and probably the best known reliability model. It proposed a failure intensity function in the form: λ(t)=φ(N-i+1) Where φ= constant of proportionality N= total number of errors present i= number of errors found by time interval ti In this model each time an error is repaired reliability does not increase by a constant amount. Reliability improvement due to fixing of an error is assumed to be proportional to the number of errors present in the system at that time. JELINSKI AND MORANDA MODEL 20
  • 21. BASIC EXECUTION TIME MODEL  This model was developed by J.D. Musa in 1979 and is based on execution time.  In this model, the decrease in failure intensity, as a function of the number of failures observed, is constant and is given as:  Where λo: Initial Failure Intensity  Vo: Number of failures experienced, if a program is executed for infinite time period.  µ: Average or expected number of failures experienced at a given period of time.  τ: execution time. 21
  • 22. LOGARITHMIC POISSON TIME MODEL  This model is also developed by Musa et. al. [MUSA79].  The failure intensity function is different here as compared to basic model. In this case the failure intensity function decreases exponentially whereas it is constant for basic model. λ(µ)= λo exp(-θ µ) Where θ: called the failure intensity decay parameter. (represents the relative change of failure intensity per failure experienced)  The expected number of failures for this model is always infinite at infinite time.  At larger value of execution time, the logarithmic poison time model will have larger value of failure intensity than the basic model. 22
  • 23. There is no universally applicable software reliability model. So the given process is followed to deploy a model. SELECTION OF MODEL After fitting a model describing the failure process, the total number of faults in the code, future failure intensity and additional time required to achieve a failure intensity objective can be estimated. 23
  • 24. UNCERTAINTIES IN SOFTWARE RELİABİLİTY MODELING TECHNIQUES  There are two main types of uncertainties which render any reliability measurement inaccurate:  Type 1 Uncertainty:  our lack of knowledge about how the system will be used, i.e. its operational profile  Type 2 Uncertainty:  reflects our lack of knowledge about the effect of fault removal.  When we fix a fault we are not sure if the corrections are complete and successful and no other faults are introduced  Even if the faults are fixed properly we do not know how much will be the improvement to inter-failure time. 24
  • 25. STATİSTİCAL TESTİNG  Statistical testing is a technique in which a model of the statistical distribution of the input is used to construct representative test cases.  The objective of statistical testing is to determine reliability rather than discover errors.  It is different from defect testing.  Different users have different operational profile i.e. they use the system in different ways (formally, operational profile).  In statistical testing the input data is divided into a number of input classes e.g. create, edit, print, file operations, etc. 25
  • 26. PERFORMING A STATISTICAL TEST  Determine the operational profile of the software: This can be determined by analyzing the usage pattern.  Manually select or automatically generate a set of test data: corresponding to the operational profile.  Apply test cases to the program: record execution time between each failure it may not be appropriate to use raw execution time  After a statistically significant number of failures have been observed: reliability can be computed. 26
  • 27. CONCLUSİONS  Software reliability is a key part in software quality.  Software reliability improvement is hard.  There are no generic models.  Measurement is very important for finding the correct model.  Statistical testing should be used but it is not easy.  Software Reliability Modelling is not simple. 27
  • 28. 1. Jintao Zeng, Jinzhong Li, Xiaohui Zeng, Wenlang Luo “A Prototype System of Software Reliability Prediction and estimation” ,third International symposium on Intelligent Information Technology and Security Informatics by IEEE Computer Society, 2010. 2. Michael R. Lyu “Software Reliability Engineering: A Roadmap”, Future of Software Engineering(FOSE’07) by IEEE, 2007. 3. Bing Chao, XiaoDong Zhu, Qiang Li, AnCe Huang “ Reliability Management in Software Requirement Analysis”, IEEE International Conference on Management of Innovation and Technology, 2006. 4. Rajesh Kumar Bawa, Arvind Kumar Lal and Navdeep Singh Jaggi “A Model for Analysis of Software Reliability and Availability”, Proceedings of RPN March 2004. 5. K K Aggarwal & Yogesh Singh “Software Engineering” 3rd Edition, New Age International Publishers, 2008. 6. Michael R. Lyu “Handbook of Software Reliability Engineering”, Computer Society Press, 2006. 7. J.D. Musa “Software Reliability Engineering: More Reliable Software Faster and Cheaper” 2nd Edition, AuthorHouse, 2004 . 8. K. S. Trivedi “Probability and Statistics with Reliability, Queuing and Computer Science Applications” 2nd Edition, John Wiley and Sons, 2002. References: 28