SlideShare a Scribd company logo
1 of 27
Download to read offline
Software Reliability, Safety and
Testing for Industrial Applications
Dr. Ajeet Kumar
āž” Introduction: The Need of Reliable and Safe Software
āž” Challenges and Issue
āž” System Reliability and Failure Distribution
āž” Hardware Reliability Vs Software Reliability
āž” Software Reliability- Reliability Prediction Models
āž” Software Safety- Functional Safety
āž” Summary
Agenda
ā–Ŗ Ph.D. (Reliability Engineering): IIT Kharagpur, India.
ā–Ŗ M.Tech (Software Engineering): MNNIT, Allahabad, India.
Education Current Role & Credentials
Project Contribution and Earlier Affiliations
System Assurance &
RAMS Expert
India
Malaysia
Indonesia
Germany
France
UK
USA
Japan
Qatar
Australia
UAE
HS2 Phase-1 London (UK)
GFR Melbourne (Australia)
MRTS/RRTS (India)
Agra-Kanpur (India)
R151 (Singapore)
Etihad Rail (Abu Dhabi)
Dubai Metro (Dubai)
SWR (UK)
Expo link 2020 (Dubai)
DFCC (India)
LTR 3 (Malaysia)
Jakarta LRT (Indonesia)
Network Rail (UK)
Jakarta MRT (Indonesia)
Delhi Metro Line-8 (India)
Doha Metro (Qatar)
Sydney Metro (Australia)
Hyderabad Metro (India)
Invensys Rail (UK/USA)
About me
@1000 hrs.
Invited Lectures
@30
Research
Articles
@200
Citation Index
Book on
Software Reliability
ā–Ŗ 2015: Survey of Algorithms on Maximum Clique Problem,
International Journal, India
ā–Ŗ 2014: Opinion Mining & Sentiment Analysis for Social Media using
Fuzzy Logic, International conference, India.
ā–Ŗ 2014: RAMS Management for a Complex Railway System: A
Case Study, International Symposium, India.
ā–Ŗ 2013: Safety Analysis of Automatic Door Operation for Metro
Train: A Case, Springer, International conference, India.
ā–Ŗ 2012: Cost Effective Reliability Centric Validation Model for
Automotive ECUs, IEEE Explore.
ā–Ŗ 2012: Successive Software Reliability Growth Model: A Practical
Approach, International Symposium, India.
ā–Ŗ 2012: A Fuzzy Model for Early Software Quality Prediction and
Module Ranking, International Journal, India
ā–Ŗ 2011: Early fault detection model using integrated and cost-
effective test case prioritization, International Journal, India.
ā–Ŗ 2010: Test Effort Optimization by Prediction and Ranking of Fault-
prone Software Module, IEEE Xplore.
ā–Ŗ 2010: Fault Prediction Model by Fuzzy Profile Development of
Reliability Relevant Software Metrics, International Journal, USA.
ā–Ŗ 2010: Predicting Fault-prone Software Module Using Data Mining
Technique and Fuzzy Logic, International Journal, India.
ā–Ŗ 2010: Modified BUSTRAP: An Optimal BUS TRAvel Planner for
Commuters using Mobileā€, International Journal, India.
ā–Ŗ 2010: Multistage Fault Prediction Model Using Process Level
Software Metricsā€, DQM Research Center, Serbia.
ā–Ŗ 2010: An Early Software Fault Prediction Model using Process
Maturity and Software Metrics, International Journal, India
ā–Ŗ 2009: A Fuzzy Model for Early Software Fault Prediction using
Process Maturity & Software Metrics, International Journal, India.
ā–Ŗ 2007: Digitally Signed SMS for Business Transaction
Research Contributions
Research
papers,
articles
and
patent
ā–Ŗ 2021: Patent: An Artificial Intelligence Based Human
Anomaly Detection System in Public Surveillance
Videos
ā–Ŗ 2021: Universally domain adaptive algorithm for
sentiment classification using transfer learning approach
ā–Ŗ 2020: Domain Adaptive Model For Sentiment
Classification Using Deep Learning Approach, India.
ā–Ŗ 2019: Efficient Topic Level Opinion Mining and
Sentiment Analysis Algorithm using Latent Dirichlet
Allocation Model,
ā–Ŗ 2019: Efficient Multilevel Polarity Sentiment
Classification Algorithm using Support Vector Machine
and Fuzzy Logic.
ā–Ŗ 2018: System Assurance, Railway RAMS and
Applicable Standards, Innorail 2018, Lucknow, India
ā–Ŗ 2018: Pandey A. K., B. Vamshi Krishna, & A. P. Siva
Kumar, Feature based opinion Mining & Sentiment
Analysis using fuzzy logic, Springer Briefs.
ā–Ŗ 2018: Pandey A. K., B. Vamshi Krishna, & A. P. Siva
Kumar, Topic Model Based Opinion Mining and
Sentiment Analysis, IEEE Conference, India.
ā–Ŗ 2017: Reliability, Availability, Maintainability, Safety
(RAMS) and EMI/EMC for Railway Electrical System;
Proceedings of Institution of Engineers, Malaysia.
ā–Ŗ 2017: Systems Assurance for Urban Railway Operation,
Seminar on Railway Electrical Systems for LRT/MRT,
Proceedings of Institution of Engineers, Malaysia
ā–Ŗ 2016: Progressive RAMS Assurance & Management for
Railway Projects, Rail Reliability and Safety Conference,
Mumbai, India
ā–Ŗ 2015: RAM Apportionment Model for Mass Rapid
Transit Systems, IEEE Explore.
ā–Ŗ 2015: Software Safety Assurance for Metro Railways,
Business Magazine, Traffic Infra Tech, India.
Dr. Ajeet Kumar
Need for the Safe and Reliable Software
ā—† Software are widely used to control and monitor many applications across the
industries.
ā—† Software failures in safety-critical systems can have disastrous consequences such
as loss of financials assets, loss of mission and loss of human lives.
ļ‚£ Railways: Signalling failure, Level crossing failure, etc;
ļ‚£ Automotive:
ļ‚£ Avionics:
ļ‚£ Medical Devices:
ā—† Demand for higher standards in software quality and reliability is required as
ļ‚£ Customer awareness, global market, regulation, legal requirements, etc..
ļ‚£ Cost of failure; cost of maintenance, downtime, etc.
Dr. Ajeet Kumar
Software Reliability: Challenges & Issues
ā€¢ The challenges:
ā€¢ Applicability of software keeps on increasing from basic home appliances to safety critical
applications. System Failures due to the software failure are very common now a days.
ā€¢ Size, complexity and dependency on software based systems are growing.
ā€¢ Software reliability becomes a challenging objective for both developer as well as user.
ā€¢ Developer: How to develop fault free software (system)?
ā€¢ User: How to select a reliable (fault-free) System?
ā€¢ The issues:
ā€¢ Software does not wear out (independent of time): how to apply fundamental reliability
principles and method can be applied?
ā€¢ Only Systematic Failure no Random Failureā€¦ā€¦..
ā€¢ No standards failure data (library), getting software failure dataā€¦ā€¦..
ā€¢ Infinite Failure Mode Typeā€¦ā€¦.
ā€¢ Testing Challenges: can not be tested exhaustivelyā€¦..
Dr. Ajeet Kumar
System Reliability and Failure Distribution
ā€¢ System Reliability:
ā€¢ Hardware Reliability
ā€¢ Software Reliability
ā€¢ Human Reliability
A sample of project specific data
Failure cause distribution for Electronic Systems
Dr. Ajeet Kumar
Error, Fault (Defect) and Failure
Error
Fault/Defect
Failure
Can lead to
Can lead to
May be
Systematic and/or Random
Systematic and/or Random
Systematic and/or Random
May be
May be
Many Railway accidents, automotive recalls, medical device malfunction are growing list of software failure. In
many cases, these failure are due to the software failure which are the part of system/functions.
Dr. Ajeet Kumar
Failure Rate and Bath-tub Curve: Hardware Vs. Software
Hardware Bathtub Curve
Software Bathtub Curve
Dr. Ajeet Kumar
Failure Classification
Failure may be:
ā€¢ Transient: Occurs only with
certain inputs.
ā€¢ Permanent: Occurs with all
inputs.
ā€¢ Recoverable: System can recover
without operator intervention.
ā€¢ Unrecoverable: Operator
intervention needed to recover
from failure.
ā€¢ Non-corrupting: Failure does not
corrupt systems.
ā€¢ Corrupting: Failure corrupts
system state or data.
Fault:
ā€¢ Defect in system implementationthat
causes the failure when executed.
ā€¢ Developer oriented view.
Failure:
ā€¢ Deviation of system behavior when
executed.
ā€¢ It is user oriented view.
Dr. Ajeet Kumar
Hardware Software
Experience wear out. Does not wear out.
Failures are usually preceded by warning and can be
anticipated.
Failures are rarely preceded by warning and canā€™t be
anticipated.
Failure rate can be DFR/CFR/IFR i.e. bathtub curve. Failure rate does not increase.
Failures are caused by material deterioration, random
failures, design errors, misuse and environment.
Failures are caused by incorrect logic, incorrect statement or
input data.
Hardware repairs restore the original condition. Software repairs establish a new piece of software.
Can be tested exhaustively. Can not be tested exhaustively .
Failures occurs even if they are not used due to material
deterioration.
Failures never occurs if they are not used.
Components can be standardized. Software components canā€™t be standardized.
Hardware failures are systematic and random. Software failures are always systematic failures
Reliability: Hardware Vs. Software
Note: Software Safety, Software Reliability, and Software Security are different in with respect to the scope & objective.
Dr. Ajeet Kumar
Software Reliability & Safety: Systematic Failure
Software reliability: probability that a
software system or component to perform
its intended function under the specified
operating conditions over the specified
period of time i.e. failure-free operation.
A software failure is defined as ā€œthe
deviation of the program behavior from
requirements,ā€. Software failure occurs
when faults got executed. Faults are the
error or defects in the software.
Software faults are the root making
software unreliable.
Faults may arise across the various
stages of software development
yielding requirements faults, design
faults, and coding faults.
Insist on systematic
process to develop
a fault free software
Error Fault Failure
Generic Software Development Processes
Requirement
Analysis
Initial
Design
Detailed
Design
Final
Design
Coding/
Implementation
Verification and
Testing Install, Use and
Maintenance
CONCEPT
Definition Phase Development Phase Maintenance Phase
Technical & Commercial Regression Testing
Development Testing
As per the Standard Requirements for specific Industry such as Automotive, Railways, Medical Devices, etc.
SOFTWARE RELIABILITY
Dr. Ajeet Kumar
Software Reliability
ā€¢ Software Reliability is defined as:
ā€¢ The probability of failure-free software operation for a specified period of time
(mission time) in a specified environment
ā€¢ Definition compatible with hardware reliability (failure mechanism differs)
ā€¢ Cannot be defined objectively.
ā€¢ Software system is very complex.
ā€¢ Complex human nature is involved in the development of software.
ā€¢ Requires operational profile for its definition.
ā€¢ The operational profile defines the expected pattern of software usage.
ā€¢ Must consider fault consequences ( for safety applications)
ā€¢ Not all faults are equally serious.
ā€¢ System is perceived as more unreliable if there are more serious faults.
Dr. Ajeet Kumar
Software Reliability Improvement
ā€¢ Reliability is improved when software faults which occur in the most frequently used
parts of the software are removed.
ā€¢ Removing x% of software faults will not necessarily lead to an x% reliability
improvement.
ā€¢ In a study, removing 60% of software defects actually led to a 3% reliability
improvement.
ā€¢ Removing faults with serious consequences is the most important objective.
ā€¢ Error prevention
ā€¢ Fault detection and removal
ā€¢ Measurements to maximize reliability.
āœ“ specifically the measures who support the first two activities.
Activities to Improve Software Reliability
Dr. Ajeet Kumar
Software Reliability Estimation
ā€¢ Software reliability estimation determines current software reliability by
applying statistical inferences to the failure data obtained during system
testing or during system operation.
ā€¢ Purpose of reliability estimation is to determine whether the applied reliability
model is good enough for the current software project.
ā€¢ There are numerous software reliability estimation models available today.
ā€¢ Software testing managers use these models to determine time and resources
requirements for software testing.
ā€¢ Software managers use estimation models to determine a suitable MTTF
objective for delivery as well as resources required for maintaining software.
Dr. Ajeet Kumar
Software
Reliability
Estimation
Model
Dr. Ajeet Kumar
Some
Useful
Software
Reliability
Models
Jelinski &
Moranda (JM)
Model
Shooman Model
Musaā€™s Basic
Execution Time
Model
Goel-Okumoto
Model
Schneidewindā€™s
Model
Hyperexponential
Model
Schick-Wolverton
S-shaped
Reliability Growth
Model
Duaneā€™s Model
Geometric Model
Musa- Okumoto
Logarithmic
Poisson
Littlewood-
Verrall Reliability
Growth Model
SOFTWARE SAFETY
Dr. Ajeet Kumar
ā€¢ Safety: freedom from unacceptable risk.
ā€¢ What is Safety? What are various kind of Safety applicable to Systems?
ā€¢ Functional Safety, Occupational Safety, Fire-life Safety, Health Environment & Safety (HES), etc.
ā€¢ Safety-Critical System: are the systems that is intended to achieve, on its own, the necessary level of safety
integrity for the implementation of the required safety functions.
ā€¢ Safety Integrity: the ability of a safety-related system to achieve its required safety functions under all the
stated conditions and environment and within a stated period of time.
ā€¢ Safety Integrity Level: a number which indicates the required degree of confidence that a system will meet
its specified safety functions with respect to systematic failures.
ā€¢ Hazard: a condition that could lead to an accident. Each Hazard shall be characterized for some probability
of occurrence and its associated severity.
ā€¢ Hazard Analysis: the process of identifying hazards and analysing their causes, and the derivation of
requirements to limit the likelihood and consequences of hazards to a tolerable level. Typical hazard
analysis techniques are PHA, SHA, IHA and O&SHA.
Safety Related Terms (H/W and S/W)
Software Safety is defined as: The probability of mishap-free software operation for a
specified period of time in a specified environment
Dr. Ajeet Kumar
ā€¢ Both H/W & S/W should be developed as per the guidelines provided by the
Standards for the specific SILs ( Safety Integrity Level).
ā€¢ The concept of SIL (1 to 4) is given by IEC 61508 which the then adopted by
other industries ( Railways, Automotive, Avionics etc..)
ā€¢ Hardware systems are evaluated for both random and systematic failure.
ā€¢ Software systems are evaluated for systematic failure.
ā€¢ Software has no inherent failure rate, only fails systematically and therefore can
be evaluated systematically.
ā€¢ Software can not be guaranteed to be 100% correct but the errors can be
minimized at various stages of development (Systematically).
ā€¢ Requirement; Design; Coding; Test, etc.
Functional Safety: Safety Critical Software
Dr. Ajeet Kumar
ā€¢ A functionally safe software is one that responds as expected for every set of inputs.
ā€¢ During the S/W development faults may be introduced at any stage; testing ensure
their presence, faults not detected during testing remain in the system.
ā€¢ There is no known way to prove the absence of faults in a complex safety-related
software.
ā€¢ Many standards such as EN 50128, ISO 26262, DO 178 provides guidelines for
development of Safe and Reliable Software.
ā€¢ EN 50128 provides guidelines for development of Safe Software for Railways
Systems.
ā€¢ ISO 26262 provides guidelines for development of Safe Software for Automotive
Industries.
ā€¢ DO 178 provides guidelines for development of Safe Software for Avionics
Industries.
23
Functional Safety for Safety Critical Software
Dr. Ajeet Kumar
Software in Railways: Safety Critical Application
ā€¢ Earlier Railway Systems uses electronic
subsystems/components controlled mechanically
or manually.
ā€¢ For better performance, flexibility and passenger
comfort; things are automated and software
controlled.
Few Years Back
Uses simple electronics subsystems
controlled mechanically or manually.
Now a days almost all the subsystem uses new electronic
control and monitoring system ( software based).
Now
There are a need for a safe and reliable software for other
industries as well. These lists ranges from a general
purpose software to safety critical software.
Automotive- Driverless Vehicles
Avionics
Smart Watches
Smart Phones
Medical Devices.
Dr. Ajeet Kumar
ā€¢ Software bugs surface out under certain input conditions.
ā€¢ It is not possible to test the system under all possible conditions.
ā€¢ Example for Railway Signalling System ā€“ Interlocking at a 4-line station
ā€¢ Tracks = 20 to 25; Crossovers = 4 to 6; Signal aspects = 30; Routes = 20
ā€¢ Total number of conditions = 280
ā€¢ An accelerated testing of the software for all possible conditions @ 1 per millisecond will take many years
ā€¢ To ensuring complete software testing; 100% code is to test under all conditions.
ā€¢ Functional testing does not ensure 100% coverage because many functions have error-
handling code, which can be difficult or impossible to stimulate using a fully integrated
application
Why Functional Testing Isnā€™t Enough for 100% Coverage
Dr. Ajeet Kumar
ā€¢ System Reliability depends on Reliability of Hardware, Software and Human.
ā€¢ Software failure causes most of system failure which might impact performance and safety
of the System.
ā€¢ Majority of safety functions in many industrial applications are implemented and/or
controlled by software.
ā€¢ Testing are used to ensure the Reliability and Safety of these systems.
ā€¢ Exhaustive testing of these systems are not possible, therefore, systems must be designed
in such a way to prevent failure or ensure controlled behavior if failures arise .
ā€¢ Software development must comply to applicable Safety Standards to meet the Safety
Requirements.
āž¢ So standard process such as EN 50128 for Railways shall be followed to minimize
systematic error in software.
āž¢ So standard process such as DO 26262 for Automotive shall be followed to minimize
systematic error in software.
āž¢ So standard process such as DO 178 D for Avionics shall be followed to minimize
systematic error in software.
Summary: Software Reliability & Safety
Any Question Plsā€¦
Thank You!

More Related Content

What's hot

Software reliability
Software reliabilitySoftware reliability
Software reliabilityAnand Kumar
Ā 
Project duration and staffing
Project duration and staffingProject duration and staffing
Project duration and staffingsiva R
Ā 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineeringMark Turner CRP
Ā 
Data in Motion vs Data at Rest
Data in Motion vs Data at RestData in Motion vs Data at Rest
Data in Motion vs Data at RestInternap
Ā 
Lecture5 virtualization
Lecture5 virtualizationLecture5 virtualization
Lecture5 virtualizationhktripathy
Ā 
What is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingWhat is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingEr Mahednra Chauhan
Ā 
Forward and Backward chaining in AI
Forward and Backward chaining in AIForward and Backward chaining in AI
Forward and Backward chaining in AIMegha Sharma
Ā 
Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...
Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...
Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...Mahbubur Rahman
Ā 
Federated Cloud Computing - The OpenNebula Experience v1.0s
Federated Cloud Computing  - The OpenNebula Experience v1.0sFederated Cloud Computing  - The OpenNebula Experience v1.0s
Federated Cloud Computing - The OpenNebula Experience v1.0sIgnacio M. Llorente
Ā 
Control Strategies in AI
Control Strategies in AIControl Strategies in AI
Control Strategies in AIAmey Kerkar
Ā 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware ReliabilitySandeep Patalay
Ā 
R programming groundup-basic-section-i
R programming groundup-basic-section-iR programming groundup-basic-section-i
R programming groundup-basic-section-iDr. Awase Khirni Syed
Ā 
Data mining Part 1
Data mining Part 1Data mining Part 1
Data mining Part 1Gautam Kumar
Ā 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliabilityranapoonam1
Ā 
Machine Learning Algorithm - KNN
Machine Learning Algorithm - KNNMachine Learning Algorithm - KNN
Machine Learning Algorithm - KNNKush Kulshrestha
Ā 

What's hot (20)

Software reliability
Software reliabilitySoftware reliability
Software reliability
Ā 
Project duration and staffing
Project duration and staffingProject duration and staffing
Project duration and staffing
Ā 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
Ā 
Data in Motion vs Data at Rest
Data in Motion vs Data at RestData in Motion vs Data at Rest
Data in Motion vs Data at Rest
Ā 
Lecture5 virtualization
Lecture5 virtualizationLecture5 virtualization
Lecture5 virtualization
Ā 
What is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingWhat is the difference between manual testing and automation testing
What is the difference between manual testing and automation testing
Ā 
Forward and Backward chaining in AI
Forward and Backward chaining in AIForward and Backward chaining in AI
Forward and Backward chaining in AI
Ā 
Introduction to soft computing
 Introduction to soft computing Introduction to soft computing
Introduction to soft computing
Ā 
Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...
Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...
Constraint Satisfaction Problem (CSP) : Cryptarithmetic, Graph Coloring, 4- Q...
Ā 
Federated Cloud Computing - The OpenNebula Experience v1.0s
Federated Cloud Computing  - The OpenNebula Experience v1.0sFederated Cloud Computing  - The OpenNebula Experience v1.0s
Federated Cloud Computing - The OpenNebula Experience v1.0s
Ā 
Daa notes 3
Daa notes 3Daa notes 3
Daa notes 3
Ā 
Python for everybody
Python for everybodyPython for everybody
Python for everybody
Ā 
Control Strategies in AI
Control Strategies in AIControl Strategies in AI
Control Strategies in AI
Ā 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
Ā 
R programming groundup-basic-section-i
R programming groundup-basic-section-iR programming groundup-basic-section-i
R programming groundup-basic-section-i
Ā 
Artifacts
ArtifactsArtifacts
Artifacts
Ā 
Data mining Part 1
Data mining Part 1Data mining Part 1
Data mining Part 1
Ā 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
Ā 
Fuzzy arithmetic
Fuzzy arithmeticFuzzy arithmetic
Fuzzy arithmetic
Ā 
Machine Learning Algorithm - KNN
Machine Learning Algorithm - KNNMachine Learning Algorithm - KNN
Machine Learning Algorithm - KNN
Ā 

Similar to Software Reliability and Safety.pdf

Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerQA or the Highway
Ā 
Reliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software ApplicationsReliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software ApplicationsCSEIJJournal
Ā 
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 ModelsIRJET Journal
Ā 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesIRJET Journal
Ā 
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 MethodIRJET Journal
Ā 
Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...Ann Marie Neufelder
Ā 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareAnn Marie Neufelder
Ā 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Editor IJARCET
Ā 
Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Volume 2-issue-6-1983-1986
Volume 2-issue-6-1983-1986Editor IJARCET
Ā 
IRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application SystemIRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application SystemIRJET Journal
Ā 
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...IOSR Journals
Ā 
A Survey of Software Reliability factor
A Survey of Software Reliability factorA Survey of Software Reliability factor
A Survey of Software Reliability factorIOSR Journals
Ā 
Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Michael Hidalgo
Ā 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAgile Testing Alliance
Ā 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxYaseenNazir3
Ā 
IRJET- Android Malware Detection System
IRJET-  	  Android Malware Detection SystemIRJET-  	  Android Malware Detection System
IRJET- Android Malware Detection SystemIRJET Journal
Ā 
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...DevDay.org
Ā 

Similar to Software Reliability and Safety.pdf (20)

Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
Ā 
Reliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software ApplicationsReliability Improvement with PSP of Web-Based Software Applications
Reliability Improvement with PSP of Web-Based Software Applications
Ā 
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
Ā 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
Ā 
Quality 4.0 and reimagining quality
Quality 4.0 and reimagining qualityQuality 4.0 and reimagining quality
Quality 4.0 and reimagining quality
Ā 
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
Ā 
Intro
IntroIntro
Intro
Ā 
Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Ā 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
Ā 
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
Ā 
IRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application SystemIRJET-A Review of Testing Technology in Web Application System
IRJET-A Review of Testing Technology in Web Application System
Ā 
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...
Ā 
A Survey of Software Reliability factor
A Survey of Software Reliability factorA Survey of Software Reliability factor
A Survey of Software Reliability factor
Ā 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Ā 
Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...
Ā 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
Ā 
Lecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptxLecture-1,2-Introduction to SE.pptx
Lecture-1,2-Introduction to SE.pptx
Ā 
IRJET- Android Malware Detection System
IRJET-  	  Android Malware Detection SystemIRJET-  	  Android Malware Detection System
IRJET- Android Malware Detection System
Ā 
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
[DevDay2019] How AI is changing the future of Software Testing? - By Vui Nguy...
Ā 

Recently uploaded

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
Ā 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
Ā 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
Ā 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
Ā 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
Ā 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
Ā 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
Ā 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
Ā 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
Ā 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
Ā 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
Ā 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
Ā 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
Ā 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
Ā 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
Ā 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
Ā 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
Ā 

Recently uploaded (20)

Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
Ā 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
Ā 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
Ā 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
Ā 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
Ā 
young call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Service
young call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Serviceyoung call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Service
young call girls in Rajiv ChowkšŸ” 9953056974 šŸ” Delhi escort Service
Ā 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
Ā 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
Ā 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
Ā 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
Ā 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
Ā 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
Ā 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
Ā 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
Ā 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
Ā 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
Ā 
ā˜… CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
ā˜… CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCRā˜… CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
ā˜… CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
Ā 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
Ā 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
Ā 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
Ā 

Software Reliability and Safety.pdf

  • 1. Software Reliability, Safety and Testing for Industrial Applications Dr. Ajeet Kumar
  • 2. āž” Introduction: The Need of Reliable and Safe Software āž” Challenges and Issue āž” System Reliability and Failure Distribution āž” Hardware Reliability Vs Software Reliability āž” Software Reliability- Reliability Prediction Models āž” Software Safety- Functional Safety āž” Summary Agenda
  • 3. ā–Ŗ Ph.D. (Reliability Engineering): IIT Kharagpur, India. ā–Ŗ M.Tech (Software Engineering): MNNIT, Allahabad, India. Education Current Role & Credentials Project Contribution and Earlier Affiliations System Assurance & RAMS Expert India Malaysia Indonesia Germany France UK USA Japan Qatar Australia UAE HS2 Phase-1 London (UK) GFR Melbourne (Australia) MRTS/RRTS (India) Agra-Kanpur (India) R151 (Singapore) Etihad Rail (Abu Dhabi) Dubai Metro (Dubai) SWR (UK) Expo link 2020 (Dubai) DFCC (India) LTR 3 (Malaysia) Jakarta LRT (Indonesia) Network Rail (UK) Jakarta MRT (Indonesia) Delhi Metro Line-8 (India) Doha Metro (Qatar) Sydney Metro (Australia) Hyderabad Metro (India) Invensys Rail (UK/USA) About me @1000 hrs. Invited Lectures @30 Research Articles @200 Citation Index Book on Software Reliability
  • 4. ā–Ŗ 2015: Survey of Algorithms on Maximum Clique Problem, International Journal, India ā–Ŗ 2014: Opinion Mining & Sentiment Analysis for Social Media using Fuzzy Logic, International conference, India. ā–Ŗ 2014: RAMS Management for a Complex Railway System: A Case Study, International Symposium, India. ā–Ŗ 2013: Safety Analysis of Automatic Door Operation for Metro Train: A Case, Springer, International conference, India. ā–Ŗ 2012: Cost Effective Reliability Centric Validation Model for Automotive ECUs, IEEE Explore. ā–Ŗ 2012: Successive Software Reliability Growth Model: A Practical Approach, International Symposium, India. ā–Ŗ 2012: A Fuzzy Model for Early Software Quality Prediction and Module Ranking, International Journal, India ā–Ŗ 2011: Early fault detection model using integrated and cost- effective test case prioritization, International Journal, India. ā–Ŗ 2010: Test Effort Optimization by Prediction and Ranking of Fault- prone Software Module, IEEE Xplore. ā–Ŗ 2010: Fault Prediction Model by Fuzzy Profile Development of Reliability Relevant Software Metrics, International Journal, USA. ā–Ŗ 2010: Predicting Fault-prone Software Module Using Data Mining Technique and Fuzzy Logic, International Journal, India. ā–Ŗ 2010: Modified BUSTRAP: An Optimal BUS TRAvel Planner for Commuters using Mobileā€, International Journal, India. ā–Ŗ 2010: Multistage Fault Prediction Model Using Process Level Software Metricsā€, DQM Research Center, Serbia. ā–Ŗ 2010: An Early Software Fault Prediction Model using Process Maturity and Software Metrics, International Journal, India ā–Ŗ 2009: A Fuzzy Model for Early Software Fault Prediction using Process Maturity & Software Metrics, International Journal, India. ā–Ŗ 2007: Digitally Signed SMS for Business Transaction Research Contributions Research papers, articles and patent ā–Ŗ 2021: Patent: An Artificial Intelligence Based Human Anomaly Detection System in Public Surveillance Videos ā–Ŗ 2021: Universally domain adaptive algorithm for sentiment classification using transfer learning approach ā–Ŗ 2020: Domain Adaptive Model For Sentiment Classification Using Deep Learning Approach, India. ā–Ŗ 2019: Efficient Topic Level Opinion Mining and Sentiment Analysis Algorithm using Latent Dirichlet Allocation Model, ā–Ŗ 2019: Efficient Multilevel Polarity Sentiment Classification Algorithm using Support Vector Machine and Fuzzy Logic. ā–Ŗ 2018: System Assurance, Railway RAMS and Applicable Standards, Innorail 2018, Lucknow, India ā–Ŗ 2018: Pandey A. K., B. Vamshi Krishna, & A. P. Siva Kumar, Feature based opinion Mining & Sentiment Analysis using fuzzy logic, Springer Briefs. ā–Ŗ 2018: Pandey A. K., B. Vamshi Krishna, & A. P. Siva Kumar, Topic Model Based Opinion Mining and Sentiment Analysis, IEEE Conference, India. ā–Ŗ 2017: Reliability, Availability, Maintainability, Safety (RAMS) and EMI/EMC for Railway Electrical System; Proceedings of Institution of Engineers, Malaysia. ā–Ŗ 2017: Systems Assurance for Urban Railway Operation, Seminar on Railway Electrical Systems for LRT/MRT, Proceedings of Institution of Engineers, Malaysia ā–Ŗ 2016: Progressive RAMS Assurance & Management for Railway Projects, Rail Reliability and Safety Conference, Mumbai, India ā–Ŗ 2015: RAM Apportionment Model for Mass Rapid Transit Systems, IEEE Explore. ā–Ŗ 2015: Software Safety Assurance for Metro Railways, Business Magazine, Traffic Infra Tech, India.
  • 5. Dr. Ajeet Kumar Need for the Safe and Reliable Software ā—† Software are widely used to control and monitor many applications across the industries. ā—† Software failures in safety-critical systems can have disastrous consequences such as loss of financials assets, loss of mission and loss of human lives. ļ‚£ Railways: Signalling failure, Level crossing failure, etc; ļ‚£ Automotive: ļ‚£ Avionics: ļ‚£ Medical Devices: ā—† Demand for higher standards in software quality and reliability is required as ļ‚£ Customer awareness, global market, regulation, legal requirements, etc.. ļ‚£ Cost of failure; cost of maintenance, downtime, etc.
  • 6. Dr. Ajeet Kumar Software Reliability: Challenges & Issues ā€¢ The challenges: ā€¢ Applicability of software keeps on increasing from basic home appliances to safety critical applications. System Failures due to the software failure are very common now a days. ā€¢ Size, complexity and dependency on software based systems are growing. ā€¢ Software reliability becomes a challenging objective for both developer as well as user. ā€¢ Developer: How to develop fault free software (system)? ā€¢ User: How to select a reliable (fault-free) System? ā€¢ The issues: ā€¢ Software does not wear out (independent of time): how to apply fundamental reliability principles and method can be applied? ā€¢ Only Systematic Failure no Random Failureā€¦ā€¦.. ā€¢ No standards failure data (library), getting software failure dataā€¦ā€¦.. ā€¢ Infinite Failure Mode Typeā€¦ā€¦. ā€¢ Testing Challenges: can not be tested exhaustivelyā€¦..
  • 7. Dr. Ajeet Kumar System Reliability and Failure Distribution ā€¢ System Reliability: ā€¢ Hardware Reliability ā€¢ Software Reliability ā€¢ Human Reliability A sample of project specific data Failure cause distribution for Electronic Systems
  • 8. Dr. Ajeet Kumar Error, Fault (Defect) and Failure Error Fault/Defect Failure Can lead to Can lead to May be Systematic and/or Random Systematic and/or Random Systematic and/or Random May be May be Many Railway accidents, automotive recalls, medical device malfunction are growing list of software failure. In many cases, these failure are due to the software failure which are the part of system/functions.
  • 9. Dr. Ajeet Kumar Failure Rate and Bath-tub Curve: Hardware Vs. Software Hardware Bathtub Curve Software Bathtub Curve
  • 10. Dr. Ajeet Kumar Failure Classification Failure may be: ā€¢ Transient: Occurs only with certain inputs. ā€¢ Permanent: Occurs with all inputs. ā€¢ Recoverable: System can recover without operator intervention. ā€¢ Unrecoverable: Operator intervention needed to recover from failure. ā€¢ Non-corrupting: Failure does not corrupt systems. ā€¢ Corrupting: Failure corrupts system state or data. Fault: ā€¢ Defect in system implementationthat causes the failure when executed. ā€¢ Developer oriented view. Failure: ā€¢ Deviation of system behavior when executed. ā€¢ It is user oriented view.
  • 11. Dr. Ajeet Kumar Hardware Software Experience wear out. Does not wear out. Failures are usually preceded by warning and can be anticipated. Failures are rarely preceded by warning and canā€™t be anticipated. Failure rate can be DFR/CFR/IFR i.e. bathtub curve. Failure rate does not increase. Failures are caused by material deterioration, random failures, design errors, misuse and environment. Failures are caused by incorrect logic, incorrect statement or input data. Hardware repairs restore the original condition. Software repairs establish a new piece of software. Can be tested exhaustively. Can not be tested exhaustively . Failures occurs even if they are not used due to material deterioration. Failures never occurs if they are not used. Components can be standardized. Software components canā€™t be standardized. Hardware failures are systematic and random. Software failures are always systematic failures Reliability: Hardware Vs. Software Note: Software Safety, Software Reliability, and Software Security are different in with respect to the scope & objective.
  • 12. Dr. Ajeet Kumar Software Reliability & Safety: Systematic Failure Software reliability: probability that a software system or component to perform its intended function under the specified operating conditions over the specified period of time i.e. failure-free operation. A software failure is defined as ā€œthe deviation of the program behavior from requirements,ā€. Software failure occurs when faults got executed. Faults are the error or defects in the software. Software faults are the root making software unreliable. Faults may arise across the various stages of software development yielding requirements faults, design faults, and coding faults. Insist on systematic process to develop a fault free software Error Fault Failure
  • 13. Generic Software Development Processes Requirement Analysis Initial Design Detailed Design Final Design Coding/ Implementation Verification and Testing Install, Use and Maintenance CONCEPT Definition Phase Development Phase Maintenance Phase Technical & Commercial Regression Testing Development Testing As per the Standard Requirements for specific Industry such as Automotive, Railways, Medical Devices, etc.
  • 15. Dr. Ajeet Kumar Software Reliability ā€¢ Software Reliability is defined as: ā€¢ The probability of failure-free software operation for a specified period of time (mission time) in a specified environment ā€¢ Definition compatible with hardware reliability (failure mechanism differs) ā€¢ Cannot be defined objectively. ā€¢ Software system is very complex. ā€¢ Complex human nature is involved in the development of software. ā€¢ Requires operational profile for its definition. ā€¢ The operational profile defines the expected pattern of software usage. ā€¢ Must consider fault consequences ( for safety applications) ā€¢ Not all faults are equally serious. ā€¢ System is perceived as more unreliable if there are more serious faults.
  • 16. Dr. Ajeet Kumar Software Reliability Improvement ā€¢ Reliability is improved when software faults which occur in the most frequently used parts of the software are removed. ā€¢ Removing x% of software faults will not necessarily lead to an x% reliability improvement. ā€¢ In a study, removing 60% of software defects actually led to a 3% reliability improvement. ā€¢ Removing faults with serious consequences is the most important objective. ā€¢ Error prevention ā€¢ Fault detection and removal ā€¢ Measurements to maximize reliability. āœ“ specifically the measures who support the first two activities. Activities to Improve Software Reliability
  • 17. Dr. Ajeet Kumar Software Reliability Estimation ā€¢ Software reliability estimation determines current software reliability by applying statistical inferences to the failure data obtained during system testing or during system operation. ā€¢ Purpose of reliability estimation is to determine whether the applied reliability model is good enough for the current software project. ā€¢ There are numerous software reliability estimation models available today. ā€¢ Software testing managers use these models to determine time and resources requirements for software testing. ā€¢ Software managers use estimation models to determine a suitable MTTF objective for delivery as well as resources required for maintaining software.
  • 19. Dr. Ajeet Kumar Some Useful Software Reliability Models Jelinski & Moranda (JM) Model Shooman Model Musaā€™s Basic Execution Time Model Goel-Okumoto Model Schneidewindā€™s Model Hyperexponential Model Schick-Wolverton S-shaped Reliability Growth Model Duaneā€™s Model Geometric Model Musa- Okumoto Logarithmic Poisson Littlewood- Verrall Reliability Growth Model
  • 21. Dr. Ajeet Kumar ā€¢ Safety: freedom from unacceptable risk. ā€¢ What is Safety? What are various kind of Safety applicable to Systems? ā€¢ Functional Safety, Occupational Safety, Fire-life Safety, Health Environment & Safety (HES), etc. ā€¢ Safety-Critical System: are the systems that is intended to achieve, on its own, the necessary level of safety integrity for the implementation of the required safety functions. ā€¢ Safety Integrity: the ability of a safety-related system to achieve its required safety functions under all the stated conditions and environment and within a stated period of time. ā€¢ Safety Integrity Level: a number which indicates the required degree of confidence that a system will meet its specified safety functions with respect to systematic failures. ā€¢ Hazard: a condition that could lead to an accident. Each Hazard shall be characterized for some probability of occurrence and its associated severity. ā€¢ Hazard Analysis: the process of identifying hazards and analysing their causes, and the derivation of requirements to limit the likelihood and consequences of hazards to a tolerable level. Typical hazard analysis techniques are PHA, SHA, IHA and O&SHA. Safety Related Terms (H/W and S/W) Software Safety is defined as: The probability of mishap-free software operation for a specified period of time in a specified environment
  • 22. Dr. Ajeet Kumar ā€¢ Both H/W & S/W should be developed as per the guidelines provided by the Standards for the specific SILs ( Safety Integrity Level). ā€¢ The concept of SIL (1 to 4) is given by IEC 61508 which the then adopted by other industries ( Railways, Automotive, Avionics etc..) ā€¢ Hardware systems are evaluated for both random and systematic failure. ā€¢ Software systems are evaluated for systematic failure. ā€¢ Software has no inherent failure rate, only fails systematically and therefore can be evaluated systematically. ā€¢ Software can not be guaranteed to be 100% correct but the errors can be minimized at various stages of development (Systematically). ā€¢ Requirement; Design; Coding; Test, etc. Functional Safety: Safety Critical Software
  • 23. Dr. Ajeet Kumar ā€¢ A functionally safe software is one that responds as expected for every set of inputs. ā€¢ During the S/W development faults may be introduced at any stage; testing ensure their presence, faults not detected during testing remain in the system. ā€¢ There is no known way to prove the absence of faults in a complex safety-related software. ā€¢ Many standards such as EN 50128, ISO 26262, DO 178 provides guidelines for development of Safe and Reliable Software. ā€¢ EN 50128 provides guidelines for development of Safe Software for Railways Systems. ā€¢ ISO 26262 provides guidelines for development of Safe Software for Automotive Industries. ā€¢ DO 178 provides guidelines for development of Safe Software for Avionics Industries. 23 Functional Safety for Safety Critical Software
  • 24. Dr. Ajeet Kumar Software in Railways: Safety Critical Application ā€¢ Earlier Railway Systems uses electronic subsystems/components controlled mechanically or manually. ā€¢ For better performance, flexibility and passenger comfort; things are automated and software controlled. Few Years Back Uses simple electronics subsystems controlled mechanically or manually. Now a days almost all the subsystem uses new electronic control and monitoring system ( software based). Now There are a need for a safe and reliable software for other industries as well. These lists ranges from a general purpose software to safety critical software. Automotive- Driverless Vehicles Avionics Smart Watches Smart Phones Medical Devices.
  • 25. Dr. Ajeet Kumar ā€¢ Software bugs surface out under certain input conditions. ā€¢ It is not possible to test the system under all possible conditions. ā€¢ Example for Railway Signalling System ā€“ Interlocking at a 4-line station ā€¢ Tracks = 20 to 25; Crossovers = 4 to 6; Signal aspects = 30; Routes = 20 ā€¢ Total number of conditions = 280 ā€¢ An accelerated testing of the software for all possible conditions @ 1 per millisecond will take many years ā€¢ To ensuring complete software testing; 100% code is to test under all conditions. ā€¢ Functional testing does not ensure 100% coverage because many functions have error- handling code, which can be difficult or impossible to stimulate using a fully integrated application Why Functional Testing Isnā€™t Enough for 100% Coverage
  • 26. Dr. Ajeet Kumar ā€¢ System Reliability depends on Reliability of Hardware, Software and Human. ā€¢ Software failure causes most of system failure which might impact performance and safety of the System. ā€¢ Majority of safety functions in many industrial applications are implemented and/or controlled by software. ā€¢ Testing are used to ensure the Reliability and Safety of these systems. ā€¢ Exhaustive testing of these systems are not possible, therefore, systems must be designed in such a way to prevent failure or ensure controlled behavior if failures arise . ā€¢ Software development must comply to applicable Safety Standards to meet the Safety Requirements. āž¢ So standard process such as EN 50128 for Railways shall be followed to minimize systematic error in software. āž¢ So standard process such as DO 26262 for Automotive shall be followed to minimize systematic error in software. āž¢ So standard process such as DO 178 D for Avionics shall be followed to minimize systematic error in software. Summary: Software Reliability & Safety