SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
White Paper


                                                            Software FMEA and Software FTA –
                                                            An Effective Tool for Embedded
                                                            Software Quality Assurance
                      About the Author                      Abstract
                                                            One of the most important activities in the software development process is the
                                                            software quality assurance. The software quality assurance consists of activities
                                                            such as design walk throughs, testing and inspections. These activities are carried
                                                            out in the following phases: functional requirement specifications, software design,
                                                            detailed design and coding. Software FMEA (Failure Mode Effect Analysis) and
                                                            Software FTA (Fault Tree Analysis) serves as an effective tool in these activities in
                            Dr. T Chitra Rajan              reducing component-level testing effort and also plan an effective integration and
                   Safety and Reliability Expert -
                                                            system testing. The functional-level software FMEA carried out during the detailed
                             Embedded Practice
                Integrated Engineering Solutions            design phase helps in identifying the structural weakness in the software design.
   Chitra leads the Safety and Reliability team in
                                                            Once the coding phase is over, software FTA and variable level software FMEA can
embedded systems for various industry domains               be carried out to study the effect of failures. Software FTA helps in identifying the
   including automotive, aerospace, Medical and             critical variables responsible for an undesired event. Software FMEA carried out at
E&U. With over 25 years of technical experience
    with defense research organizations, Chitra’s           variable level helps analyze the code in detail for the various failure modes of the
  prime area of focus has been in the analysis of           variables leading to critical events which are of concern from the functional
  Safety and Reliability of indigenously designed
   and developed defense systems for the armed
                                                            requirement of the system. These activities help in modifying the code at an early
 forces. The author has also evaluated simulated            stage so that the costly modifications at a later stage could be avoided.
weapon systems and analyzed statistical data for
                                    over 10 years.          This paper discusses the details of software FMEA and software FTA which are
          With over 35 publications in National/            effective in the software quality assurance phase with an example.
International Conferences/ Seminars/ Journals,
      Chitra holds a doctoral degree from Indian            Introduction
      Institute of Science Bangalore, India and a           The electronic industry has transitioned from hardware stage to the embedded
Masters degree from University of Georgia, USA.
                                                            software stage to increase the flexibility within the product. Introduction of
   She has also co-authored a book on Reliability
  and Six Sigma published by Springer Verlag in             embedded systems has helped meet the customer requirements with a few
                                        Feb 2006.           additional lines of code in the software. This in turn has helped in getting over the
                                                            obsolescence and keeping pace with the customer demands in the market. Right
                                                            from consumer electronics, we use in our daily life to any high-end system (e.g.,
                                                            air and railway traffic control, nuclear plant control, aircraft and car control),
                                                            embedded software plays the key role in all the applications. If we consider the
                                                            automotive industry, 90% of innovations are driven by embedded systems. The
                                                            vehicle costs are a function of the electronics and software used in the car and




Inside the issue
                       Abstract .................................................................................................................................................... 01
                       Introduction .............................................................................................................................................. 01
                       Software FTA and FMEA ............................................................................................................................ 02
                       Software FTA ............................................................................................................................................    03
                       Software FMEA ......................................................................................................................................... 04
                       Detailed level FMEA ..................................................................................................................................       05
                       Conclusion ...............................................................................................................................................   05

                                                                                                                                                                                      1
White Paper


                                 nearly 50 to 70% of the development costs for ECUs are related to software. The
                                 increasing complexity of software in all these applications calls for a high level
                                 quality assurance before the product is rolled out. While we impose a tight quality
                                 assurance activity, one has to take care of the time and cost involved in it to meet
                                 the time-to-market goal as well.

                                 The challenge with the embedded software is that it executes in real time. Safety-
                                 critical and performance-critical applications require exact limits and measurements.
                                 Statistics or averaging measurement methods are not suitable. Reviews, inspections
                                 and testing are accepted as quality improvement techniques in the software at
                                 every stage in software life cycle. Overall the safety critical and performance critical
                                 nature of many embedded control applications is the paramount reason for
                                 demanding a performance software quality tools. Antilock braking system,
                                 instrument landing system, telecommunication network for spacecrafts, patient
                                 monitoring systems and a host of other products on which we are now so heavily
                                 dependent on embedded software must prove that they deserve our confidence in
                                 their safety and reliability. In this context an embedded system is a little program
                                 that carries an awful lot of responsibilities.
           Safety-critical and
                                 This paper describes the application of Software FTA (Fault Tree Analysis) and
         performance-critical
                                 Software FMEA (Failure Mode Effect Analysis) as one of the quality assurance tool.
  applications require exact     These analyses are discussed from the experience gained by application of these
  limits and measurements.       techniques extensively in the automotive industry. Software testing generally aids
                                 in identifying the faults where as the Software FTA and FMEA addresses the failures..
                                 These analyses aid in identifying potential failures at the system level that is to say
                                 the failures with respect to the system functionality for which the system is designed
                                 for. The FTA and FMEA analysis aids in identifying the single point failure causes
                                 and the combination of conditions leading the undesired failure events. Once we
                                 understand the conditions leading to the functional failure, decisions can be made
                                 to mitigate the risks associated with the failures. Eliminating the risks or mitigating
                                 the risks is a very important task for a safety critical and performance critical
                                 applications.

                                 Software FTA and FMEA
                                 There are two techniques used by hardware which are adopted for software. They
                                 are:
                                 • Fault Tree Analysis (FTA)
                                 • Failure Mode Effects Analysis (FMEA)

                                 While these analyses are more predominant with hazard analysis, they are excellent
                                 tools for determining the weak areas of the software system. These analyses help
                                 identify the potential failures that may lead to potential system failures. The results
                                 of the analyses helps in protecting against those potential failure modes

                                 The FTA is a top-down approach and FMEA is a bottom-up approach. Both these
                                 analyses provide input in testing, verification and validation. Both these methods
                                 address the effect of failures at the system functionality-level . The outcome of the
                                 analysis provides inputs for component testing, integration tests and system testing.
                                 Software failures happen due to memory corruption, incomplete execution, timing
                                 errors (early execution / late execution) etc. The FTA and FMEA analysis aids in
                                 identifying the effects of these failures and look for the protection provided in the
                                 code for some of the critical failures. The functions/ variables for which such
                                 protection is not provided are identified before the product is rolled out.


                                                                                                                       2
White Paper


                                 Software FTA
                                 In order to carry out the software FTA, we identify the undesired events with respect
                                 to the system functionality for which the system is designed for. If it is a safety
                                 critical system, these undesired events refer to hazards which are foreseen with
                                 respect to the system functionality and also the environment and other operating
                                 conditions in which the system is operating. Taking the undesired event as the top
                                 most events, we logically connect the software components leading to the event.
                                 Starting from the software functions leading to the event we come down logically to
                                 the conditions triggering these functions and then the global variables responsible
                                 for the triggering. The stopping criteria for the analysis in general are the global
                                 variables leading to the event. The cut set analysis provides the single point variables
                                 and the combination of several other variables leading to the event.
Taking the undesired event as
                                 For each of the single point variable, we look for the protection provided in the
        the topmost events we    code. For example, the value may be copied in another location or a periodic RAM
logically connect the software   check done in order to identify the memory corruption etc. Where the cause is due
   components leading to the     to failure of group of variables, the common cause is identified to look for the
                                 simultaneous failure of the group of variables at the same instance. Thus when we
                        event.   carry out the FTA, we go through the entire code and one could give a judgment
                                 analysis as to whether the critical variables are protected. Depending on the role of
                                 the variable in the code, additional tests can be suggested.

                                 Thus Software FTA is used as one of the verification tools. Software FTA might be
                                 applied to software design representations to locate problems early and the same
                                 can be fixed before the design is frozen.

                                 Example:
                                 The following example gives the general layout in carrying out the software FTA
                                 for an embedded system.




                                                                                                                       3
White Paper


                                  Software FMEA
                                  Software FMEA is a detailed analysis of software components (functions and
                                  variables). FMEA analyses component interaction, dependencies between data
                                  related failures. Software FMEA is performed in two levels-functional level, and
                                  variable level

                                  Functional level FMEA is used in identifying structural weakness in the software
                                  design. It also helps reveal weak or missing requirements and latent software. The
                                  functions of the same are listed below. Here it is important to decide upto what
                                  level each higher level functions are broken further into their constituent functions
                                  in order to select the candidates for FMEA. There is no fixed rule on this. However
                                  normally we go down up to three or four levels. One needs to make a decision on
                                  the importance of those functions. Normally the failure modes considered are
    Based on the criticality of
                                  function fails to execute, incomplete execution, timing error (too early, too late),
     these failure effects, the   erroneous execution. For interrupt service routines the failures considered are failure
 software design is examined      to return thus blocking lower priority interrupts from executing and returns incorrect
          for the protections     priority. The effects of these failures are analysed for their system effects. Based on
                                  the criticality of these failure effects, the software design is examined for the
       mechanisms provided.       protections mechanisms provided.

                                  Example:
                                  Consider an example of functional FMEA of the function written for speedometer
                                  control. The function analysed is ‘read vehicle speed’. The failure modes considered
                                  are fails to execute and erroneous execution of the function. The system effect due
                                  to the failure leads to a severity of 10. (Severity numbers are assigned 1 to 10. 10
                                  refers to the highest order of severity and one refers to least). With the implantation
                                  of the monitor checks, the severity is expected to reduce to 7.




                                                                                                                       4
White Paper


                                   Detailed-level FMEA
                                   Is carried out when the complete code is available. Based on the variable type, the
                                   associated failure modes are analysed. The values of the analog variables may take
                                   a higher or lower value than the prescribed value at a given instant of time due to
                                   bit flips. The Boolean variable may take the value true when it has to be false and
                                   vice versa. The enumerated variables have a set of values to take and the failure
                                   mode considered will be the variable taking a different value than the one it has to
                                   have at a particular instant of time. In addition to potential variable failure modes,
                                   potential software processing logic failure modes may be considered. This involves
                                   examining the operators such as addition, subtraction, comparison etc., to determine
                                   the possible negative effects that must be addressed. By assigning severity (severity
                                   values are assigned from 1 to 10 indicating 10 is most severe and 1 least severe) to
 The analysis provides critical    each failure mode with respect to system effect we can identify the critical variables.
 variable list, unused variable    Then these critical variables are analysed for the existing protection provided in
                                   the code. If the protection is not provided, then the same is suggested for
            lists along with the
                                   implementation. The analysis provides critical variable list, unused variable lists
   recommendations to avoid        along with the recommendations to avoid failures leading to failure of the system
  failures leading to failure of   functionalities.
    the system functionalities.    Example :
                                   Consider a variable level FMEA carried out on a variable calculating the vehicle
                                   speed value. The system effect leads to a severity level of 10. With the
                                   implementation of the fault monitor periodic memory check it is expected that the
                                   severity will be reduced to 7.




                                   Conclusion
                                   The combined results of software FMEA and software FTA provide input for analysis
                                   of interdependencies (causal/temporal) justification for prioritization of verification/
                                   validation test systematic approach from system down to SW subsystems. Since the
                                   software FMEA and FTA analyses require thorough understanding of the software
                                   design, system functionality and the code, certain efforts on component level testing
                                   can be reduced. Some of the findings can aid in better planning of integration and
                                   system testing.


                                   For further information please write to rfi@mahindrasatyam.com


                                                                                              www.mahindrasatyam.com

                                                                                                                         5

Contenu connexe

Tendances

Five Common Mistakes made when Conducting a Software FMECA
Five Common Mistakes made when Conducting a Software FMECAFive Common Mistakes made when Conducting a Software FMECA
Five Common Mistakes made when Conducting a Software FMECAAnn Marie Neufelder
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Kaizenko
 
The Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityThe Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityAnn Marie Neufelder
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil BarotHarshil Barot
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentationBelatrix Software
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.pptFawazHussain4
 
Software Testing
Software TestingSoftware Testing
Software TestingSengu Msc
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftheme
 
Software Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSoftware Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSyed Hassan Raza
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk AnalysisBrett Leonard
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level BasicSelin Gungor
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts pptRathna Priya
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance pptAnas Usman
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaEdureka!
 
STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)Ch Fahadi
 
defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management Manish Chaurasia
 

Tendances (20)

Five Common Mistakes made when Conducting a Software FMECA
Five Common Mistakes made when Conducting a Software FMECAFive Common Mistakes made when Conducting a Software FMECA
Five Common Mistakes made when Conducting a Software FMECA
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
The Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliabilityThe Top Ten things that have been proven to effect software reliability
The Top Ten things that have been proven to effect software reliability
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
TESTING STRATEGY.ppt
TESTING STRATEGY.pptTESTING STRATEGY.ppt
TESTING STRATEGY.ppt
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief OverviewSoftware Testing: History, Trends, Perspectives - a Brief Overview
Software Testing: History, Trends, Perspectives - a Brief Overview
 
Software Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s GuideSoftware Testing Life Cycle – A Beginner’s Guide
Software Testing Life Cycle – A Beginner’s Guide
 
Software Risk Analysis
Software Risk AnalysisSoftware Risk Analysis
Software Risk Analysis
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance ppt
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)STLC (Software Testing Life Cycle)
STLC (Software Testing Life Cycle)
 
defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management
 

En vedette

Common Cause Analysis - Zonal Safety Analysis
Common Cause Analysis - Zonal Safety AnalysisCommon Cause Analysis - Zonal Safety Analysis
Common Cause Analysis - Zonal Safety AnalysisTom Jacyszyn
 
Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)Peter Tröger
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineeringMark Turner CRP
 
QM-085-Design Andd Process Fmea
QM-085-Design Andd Process FmeaQM-085-Design Andd Process Fmea
QM-085-Design Andd Process Fmeahandbook
 
QM-011-Design Process FMEA
QM-011-Design Process FMEAQM-011-Design Process FMEA
QM-011-Design Process FMEAhandbook
 
Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...Ann Marie Neufelder
 
Software Risk Management
Software Risk ManagementSoftware Risk Management
Software Risk ManagementGunjan Patel
 

En vedette (8)

30420130403005
3042013040300530420130403005
30420130403005
 
Common Cause Analysis - Zonal Safety Analysis
Common Cause Analysis - Zonal Safety AnalysisCommon Cause Analysis - Zonal Safety Analysis
Common Cause Analysis - Zonal Safety Analysis
 
Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
 
QM-085-Design Andd Process Fmea
QM-085-Design Andd Process FmeaQM-085-Design Andd Process Fmea
QM-085-Design Andd Process Fmea
 
QM-011-Design Process FMEA
QM-011-Design Process FMEAQM-011-Design Process FMEA
QM-011-Design Process FMEA
 
Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...
 
Software Risk Management
Software Risk ManagementSoftware Risk Management
Software Risk Management
 

Similaire à Software FMEA and Software FTA – An Effective Tool for Embedded Software Quality Assurance

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
 
Ibm smarter quality_management
Ibm smarter quality_managementIbm smarter quality_management
Ibm smarter quality_managementCristiano Caetano
 
A Survey of Software Reliability factor
A Survey of Software Reliability factorA Survey of Software Reliability factor
A Survey of Software Reliability factorIOSR Journals
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareengPINKU29
 
The forrester wave™ endpoint security software as a service, q2 2021
The forrester wave™  endpoint security software as a service, q2 2021The forrester wave™  endpoint security software as a service, q2 2021
The forrester wave™ endpoint security software as a service, q2 2021Andy Kwong
 
Unit Testing Software Market Size, Share.pdf
Unit Testing Software Market Size, Share.pdfUnit Testing Software Market Size, Share.pdf
Unit Testing Software Market Size, Share.pdfshreyaporekar9
 
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
 
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
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNANDINI SHARMA
 
Driving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive SoftwareDriving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive SoftwareParasoft
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Pillars of Effective Software Maintenance and Support Stability, Security, an...
Pillars of Effective Software Maintenance and Support Stability, Security, an...Pillars of Effective Software Maintenance and Support Stability, Security, an...
Pillars of Effective Software Maintenance and Support Stability, Security, an...JennyGilbert1
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET Journal
 

Similaire à Software FMEA and Software FTA – An Effective Tool for Embedded Software Quality Assurance (20)

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...
 
Ibm smarter quality_management
Ibm smarter quality_managementIbm smarter quality_management
Ibm smarter quality_management
 
A Survey of Software Reliability factor
A Survey of Software Reliability factorA Survey of Software Reliability factor
A Survey of Software Reliability factor
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
The forrester wave™ endpoint security software as a service, q2 2021
The forrester wave™  endpoint security software as a service, q2 2021The forrester wave™  endpoint security software as a service, q2 2021
The forrester wave™ endpoint security software as a service, q2 2021
 
Unit Testing Software Market Size, Share.pdf
Unit Testing Software Market Size, Share.pdfUnit Testing Software Market Size, Share.pdf
Unit Testing Software Market Size, Share.pdf
 
Intro
IntroIntro
Intro
 
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
 
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
 
Fda 21 CFR 820.30 compliant software development process
Fda 21 CFR 820.30 compliant software development processFda 21 CFR 820.30 compliant software development process
Fda 21 CFR 820.30 compliant software development process
 
Chapter 16
Chapter 16Chapter 16
Chapter 16
 
Software testing
Software testingSoftware testing
Software testing
 
Notes of Software engineering and Project Management
Notes of Software engineering and Project ManagementNotes of Software engineering and Project Management
Notes of Software engineering and Project Management
 
Driving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive SoftwareDriving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive Software
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
software engineering
 software engineering software engineering
software engineering
 
Pillars of Effective Software Maintenance and Support Stability, Security, an...
Pillars of Effective Software Maintenance and Support Stability, Security, an...Pillars of Effective Software Maintenance and Support Stability, Security, an...
Pillars of Effective Software Maintenance and Support Stability, Security, an...
 
Swe notes
Swe notesSwe notes
Swe notes
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLC
 

Plus de Mahindra Satyam

Integrated warranty management
Integrated warranty managementIntegrated warranty management
Integrated warranty managementMahindra Satyam
 
Social media for a smarter enterprise
Social media for a smarter enterpriseSocial media for a smarter enterprise
Social media for a smarter enterpriseMahindra Satyam
 
Service lifecycle management
Service lifecycle managementService lifecycle management
Service lifecycle managementMahindra Satyam
 
Retail cpg travel and logistics
Retail cpg travel and logisticsRetail cpg travel and logistics
Retail cpg travel and logisticsMahindra Satyam
 
Healthcare and life sciences
Healthcare and life sciencesHealthcare and life sciences
Healthcare and life sciencesMahindra Satyam
 
Continuous working capital reduction
Continuous working capital reductionContinuous working capital reduction
Continuous working capital reductionMahindra Satyam
 
Banking, financial services and insurance
Banking, financial services and insuranceBanking, financial services and insurance
Banking, financial services and insuranceMahindra Satyam
 
Scalable and Cost-effective Application Support for a Test and Measurement So...
Scalable and Cost-effective Application Support for a Test and Measurement So...Scalable and Cost-effective Application Support for a Test and Measurement So...
Scalable and Cost-effective Application Support for a Test and Measurement So...Mahindra Satyam
 
Improved Efficiency through Automated Online Content Delivery Process for a G...
Improved Efficiency through Automated Online Content Delivery Process for a G...Improved Efficiency through Automated Online Content Delivery Process for a G...
Improved Efficiency through Automated Online Content Delivery Process for a G...Mahindra Satyam
 
Mahindra Satyam Foundation
Mahindra Satyam FoundationMahindra Satyam Foundation
Mahindra Satyam FoundationMahindra Satyam
 
Cloud Computing in Healthcare IT
Cloud Computing in Healthcare ITCloud Computing in Healthcare IT
Cloud Computing in Healthcare ITMahindra Satyam
 
Corporate brochure finalpp_290410
Corporate  brochure finalpp_290410Corporate  brochure finalpp_290410
Corporate brochure finalpp_290410Mahindra Satyam
 
FIFA Extranet - Empowering Users with Flexibility, Control, and Efficiency
FIFA Extranet - Empowering Users with Flexibility, Control, and EfficiencyFIFA Extranet - Empowering Users with Flexibility, Control, and Efficiency
FIFA Extranet - Empowering Users with Flexibility, Control, and EfficiencyMahindra Satyam
 
Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...
Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...
Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...Mahindra Satyam
 

Plus de Mahindra Satyam (20)

Integrated warranty management
Integrated warranty managementIntegrated warranty management
Integrated warranty management
 
Order management
Order managementOrder management
Order management
 
Energy & utilities
Energy & utilitiesEnergy & utilities
Energy & utilities
 
Wrap and renew
Wrap and renewWrap and renew
Wrap and renew
 
Telecommunications
TelecommunicationsTelecommunications
Telecommunications
 
Social media for a smarter enterprise
Social media for a smarter enterpriseSocial media for a smarter enterprise
Social media for a smarter enterprise
 
Service lifecycle management
Service lifecycle managementService lifecycle management
Service lifecycle management
 
Retail cpg travel and logistics
Retail cpg travel and logisticsRetail cpg travel and logistics
Retail cpg travel and logistics
 
Media and entertainment
Media and entertainmentMedia and entertainment
Media and entertainment
 
Manufacturing
ManufacturingManufacturing
Manufacturing
 
Healthcare and life sciences
Healthcare and life sciencesHealthcare and life sciences
Healthcare and life sciences
 
Continuous working capital reduction
Continuous working capital reductionContinuous working capital reduction
Continuous working capital reduction
 
Banking, financial services and insurance
Banking, financial services and insuranceBanking, financial services and insurance
Banking, financial services and insurance
 
Scalable and Cost-effective Application Support for a Test and Measurement So...
Scalable and Cost-effective Application Support for a Test and Measurement So...Scalable and Cost-effective Application Support for a Test and Measurement So...
Scalable and Cost-effective Application Support for a Test and Measurement So...
 
Improved Efficiency through Automated Online Content Delivery Process for a G...
Improved Efficiency through Automated Online Content Delivery Process for a G...Improved Efficiency through Automated Online Content Delivery Process for a G...
Improved Efficiency through Automated Online Content Delivery Process for a G...
 
Mahindra Satyam Foundation
Mahindra Satyam FoundationMahindra Satyam Foundation
Mahindra Satyam Foundation
 
Cloud Computing in Healthcare IT
Cloud Computing in Healthcare ITCloud Computing in Healthcare IT
Cloud Computing in Healthcare IT
 
Corporate brochure finalpp_290410
Corporate  brochure finalpp_290410Corporate  brochure finalpp_290410
Corporate brochure finalpp_290410
 
FIFA Extranet - Empowering Users with Flexibility, Control, and Efficiency
FIFA Extranet - Empowering Users with Flexibility, Control, and EfficiencyFIFA Extranet - Empowering Users with Flexibility, Control, and Efficiency
FIFA Extranet - Empowering Users with Flexibility, Control, and Efficiency
 
Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...
Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...
Delivering FIFA’s Next Generation Solution Platform for the 2010 FIFA World C...
 

Software FMEA and Software FTA – An Effective Tool for Embedded Software Quality Assurance

  • 1. White Paper Software FMEA and Software FTA – An Effective Tool for Embedded Software Quality Assurance About the Author Abstract One of the most important activities in the software development process is the software quality assurance. The software quality assurance consists of activities such as design walk throughs, testing and inspections. These activities are carried out in the following phases: functional requirement specifications, software design, detailed design and coding. Software FMEA (Failure Mode Effect Analysis) and Software FTA (Fault Tree Analysis) serves as an effective tool in these activities in Dr. T Chitra Rajan reducing component-level testing effort and also plan an effective integration and Safety and Reliability Expert - system testing. The functional-level software FMEA carried out during the detailed Embedded Practice Integrated Engineering Solutions design phase helps in identifying the structural weakness in the software design. Chitra leads the Safety and Reliability team in Once the coding phase is over, software FTA and variable level software FMEA can embedded systems for various industry domains be carried out to study the effect of failures. Software FTA helps in identifying the including automotive, aerospace, Medical and critical variables responsible for an undesired event. Software FMEA carried out at E&U. With over 25 years of technical experience with defense research organizations, Chitra’s variable level helps analyze the code in detail for the various failure modes of the prime area of focus has been in the analysis of variables leading to critical events which are of concern from the functional Safety and Reliability of indigenously designed and developed defense systems for the armed requirement of the system. These activities help in modifying the code at an early forces. The author has also evaluated simulated stage so that the costly modifications at a later stage could be avoided. weapon systems and analyzed statistical data for over 10 years. This paper discusses the details of software FMEA and software FTA which are With over 35 publications in National/ effective in the software quality assurance phase with an example. International Conferences/ Seminars/ Journals, Chitra holds a doctoral degree from Indian Introduction Institute of Science Bangalore, India and a The electronic industry has transitioned from hardware stage to the embedded Masters degree from University of Georgia, USA. software stage to increase the flexibility within the product. Introduction of She has also co-authored a book on Reliability and Six Sigma published by Springer Verlag in embedded systems has helped meet the customer requirements with a few Feb 2006. additional lines of code in the software. This in turn has helped in getting over the obsolescence and keeping pace with the customer demands in the market. Right from consumer electronics, we use in our daily life to any high-end system (e.g., air and railway traffic control, nuclear plant control, aircraft and car control), embedded software plays the key role in all the applications. If we consider the automotive industry, 90% of innovations are driven by embedded systems. The vehicle costs are a function of the electronics and software used in the car and Inside the issue Abstract .................................................................................................................................................... 01 Introduction .............................................................................................................................................. 01 Software FTA and FMEA ............................................................................................................................ 02 Software FTA ............................................................................................................................................ 03 Software FMEA ......................................................................................................................................... 04 Detailed level FMEA .................................................................................................................................. 05 Conclusion ............................................................................................................................................... 05 1
  • 2. White Paper nearly 50 to 70% of the development costs for ECUs are related to software. The increasing complexity of software in all these applications calls for a high level quality assurance before the product is rolled out. While we impose a tight quality assurance activity, one has to take care of the time and cost involved in it to meet the time-to-market goal as well. The challenge with the embedded software is that it executes in real time. Safety- critical and performance-critical applications require exact limits and measurements. Statistics or averaging measurement methods are not suitable. Reviews, inspections and testing are accepted as quality improvement techniques in the software at every stage in software life cycle. Overall the safety critical and performance critical nature of many embedded control applications is the paramount reason for demanding a performance software quality tools. Antilock braking system, instrument landing system, telecommunication network for spacecrafts, patient monitoring systems and a host of other products on which we are now so heavily dependent on embedded software must prove that they deserve our confidence in their safety and reliability. In this context an embedded system is a little program that carries an awful lot of responsibilities. Safety-critical and This paper describes the application of Software FTA (Fault Tree Analysis) and performance-critical Software FMEA (Failure Mode Effect Analysis) as one of the quality assurance tool. applications require exact These analyses are discussed from the experience gained by application of these limits and measurements. techniques extensively in the automotive industry. Software testing generally aids in identifying the faults where as the Software FTA and FMEA addresses the failures.. These analyses aid in identifying potential failures at the system level that is to say the failures with respect to the system functionality for which the system is designed for. The FTA and FMEA analysis aids in identifying the single point failure causes and the combination of conditions leading the undesired failure events. Once we understand the conditions leading to the functional failure, decisions can be made to mitigate the risks associated with the failures. Eliminating the risks or mitigating the risks is a very important task for a safety critical and performance critical applications. Software FTA and FMEA There are two techniques used by hardware which are adopted for software. They are: • Fault Tree Analysis (FTA) • Failure Mode Effects Analysis (FMEA) While these analyses are more predominant with hazard analysis, they are excellent tools for determining the weak areas of the software system. These analyses help identify the potential failures that may lead to potential system failures. The results of the analyses helps in protecting against those potential failure modes The FTA is a top-down approach and FMEA is a bottom-up approach. Both these analyses provide input in testing, verification and validation. Both these methods address the effect of failures at the system functionality-level . The outcome of the analysis provides inputs for component testing, integration tests and system testing. Software failures happen due to memory corruption, incomplete execution, timing errors (early execution / late execution) etc. The FTA and FMEA analysis aids in identifying the effects of these failures and look for the protection provided in the code for some of the critical failures. The functions/ variables for which such protection is not provided are identified before the product is rolled out. 2
  • 3. White Paper Software FTA In order to carry out the software FTA, we identify the undesired events with respect to the system functionality for which the system is designed for. If it is a safety critical system, these undesired events refer to hazards which are foreseen with respect to the system functionality and also the environment and other operating conditions in which the system is operating. Taking the undesired event as the top most events, we logically connect the software components leading to the event. Starting from the software functions leading to the event we come down logically to the conditions triggering these functions and then the global variables responsible for the triggering. The stopping criteria for the analysis in general are the global variables leading to the event. The cut set analysis provides the single point variables and the combination of several other variables leading to the event. Taking the undesired event as For each of the single point variable, we look for the protection provided in the the topmost events we code. For example, the value may be copied in another location or a periodic RAM logically connect the software check done in order to identify the memory corruption etc. Where the cause is due components leading to the to failure of group of variables, the common cause is identified to look for the simultaneous failure of the group of variables at the same instance. Thus when we event. carry out the FTA, we go through the entire code and one could give a judgment analysis as to whether the critical variables are protected. Depending on the role of the variable in the code, additional tests can be suggested. Thus Software FTA is used as one of the verification tools. Software FTA might be applied to software design representations to locate problems early and the same can be fixed before the design is frozen. Example: The following example gives the general layout in carrying out the software FTA for an embedded system. 3
  • 4. White Paper Software FMEA Software FMEA is a detailed analysis of software components (functions and variables). FMEA analyses component interaction, dependencies between data related failures. Software FMEA is performed in two levels-functional level, and variable level Functional level FMEA is used in identifying structural weakness in the software design. It also helps reveal weak or missing requirements and latent software. The functions of the same are listed below. Here it is important to decide upto what level each higher level functions are broken further into their constituent functions in order to select the candidates for FMEA. There is no fixed rule on this. However normally we go down up to three or four levels. One needs to make a decision on the importance of those functions. Normally the failure modes considered are Based on the criticality of function fails to execute, incomplete execution, timing error (too early, too late), these failure effects, the erroneous execution. For interrupt service routines the failures considered are failure software design is examined to return thus blocking lower priority interrupts from executing and returns incorrect for the protections priority. The effects of these failures are analysed for their system effects. Based on the criticality of these failure effects, the software design is examined for the mechanisms provided. protections mechanisms provided. Example: Consider an example of functional FMEA of the function written for speedometer control. The function analysed is ‘read vehicle speed’. The failure modes considered are fails to execute and erroneous execution of the function. The system effect due to the failure leads to a severity of 10. (Severity numbers are assigned 1 to 10. 10 refers to the highest order of severity and one refers to least). With the implantation of the monitor checks, the severity is expected to reduce to 7. 4
  • 5. White Paper Detailed-level FMEA Is carried out when the complete code is available. Based on the variable type, the associated failure modes are analysed. The values of the analog variables may take a higher or lower value than the prescribed value at a given instant of time due to bit flips. The Boolean variable may take the value true when it has to be false and vice versa. The enumerated variables have a set of values to take and the failure mode considered will be the variable taking a different value than the one it has to have at a particular instant of time. In addition to potential variable failure modes, potential software processing logic failure modes may be considered. This involves examining the operators such as addition, subtraction, comparison etc., to determine the possible negative effects that must be addressed. By assigning severity (severity values are assigned from 1 to 10 indicating 10 is most severe and 1 least severe) to The analysis provides critical each failure mode with respect to system effect we can identify the critical variables. variable list, unused variable Then these critical variables are analysed for the existing protection provided in the code. If the protection is not provided, then the same is suggested for lists along with the implementation. The analysis provides critical variable list, unused variable lists recommendations to avoid along with the recommendations to avoid failures leading to failure of the system failures leading to failure of functionalities. the system functionalities. Example : Consider a variable level FMEA carried out on a variable calculating the vehicle speed value. The system effect leads to a severity level of 10. With the implementation of the fault monitor periodic memory check it is expected that the severity will be reduced to 7. Conclusion The combined results of software FMEA and software FTA provide input for analysis of interdependencies (causal/temporal) justification for prioritization of verification/ validation test systematic approach from system down to SW subsystems. Since the software FMEA and FTA analyses require thorough understanding of the software design, system functionality and the code, certain efforts on component level testing can be reduced. Some of the findings can aid in better planning of integration and system testing. For further information please write to rfi@mahindrasatyam.com www.mahindrasatyam.com 5