Length: 3 Days
Print Friendly, PDF & Email

Software Safety Training

Effective software safety is essential because a software specification error, design flaw, or the lack of generic safety-critical requirements can contribute to or cause a system failure or erroneous human decision.

Besides the potential for injury, the total cost of poor software quality in the U.S. is estimated at $2.08 trillion.

It’s no secret that software safety is extremely important because devices often fail due to the absence of software-based control systems.

Safety is a property of a system that reflects the system’s ability to operate, normally or abnormally, without danger of causing human injury or death and without damage to the system’s environment.

Often software safety and reliability are thought of as being one in the same. However, while safety and reliability are related, they are distinct. Reliability is concerned with conformance to a given specification and delivery of service. Safety is concerned with ensuring system cannot cause damage irrespective of whether or not it conforms to its specification. System reliability is essential for safety but is not enough.

In safety-critical systems, software safety takes on even more importance. Examples of safety-critical systems would be control and monitoring systems in aircraft, process control systems in chemical manufacture, automobile control systems such as braking and engine management systems.

With ever increasing technological advancements, safety software has become exceedingly important. Safety software allows management to familiarize themselves with corporate safety activities, immediately identify and minimize risk, as well as improve company culture that creates trust between front line employees and management.

Some would argue that software safety has evolved to be a parallel effort to the development of the software itself. System safety engineers are involved in each step of the software development process identifying which functions are critical to the safe functioning of the greater system and tracing those functions down into the software modules which support them.

Many organizations and agencies have turned to software safety in a big way. NASA, for example, has a software safety guidebook online that describes the software safety effort as a part of a larger system safety program.

The Department of Defense has a handbook as well and other links.

Traditional system safety modalities are still in play, but some analysts argue they shouldn’t be.

The main problem with using the traditional system safety method on software is that the probability of software failure is not measurable or even easily estimated. Traditional system safety uses a combination of probability and severity to rate the risk of each hazard. Software does not “fail” after it is completed.

Software Safety Training Course by Tonex

Software Safety Training is a 3-day bootcamp course style covering all aspects of Software Safety focusing on philosophies and methods in software safety and its primary objectives: to design, code, test, and support software with the appropriate Level‐of‐Rigor (LOR) to instill a confidence, or the assurance of safe software.

The course also covers defining the necessary safety requirements for the design, code, test, verification, and validation of software that specifically target and mitigate the software “causes” of the defined hazards and mishaps of the system.

Software system safety is a subset of system safety and system engineering and is synonymous with the software engineering aspects of Functional Safety. Workshops are arranged to practice Software Failure Modes and Effects Analysis (FMEA) Software Fault Tree Analysis (FTA), Software Sneak Analysis and Petri Nets to analyze sneak conditions, latent software, or integrated conditions that may cause an unwanted event to occur or may inhibit a desired event and is not caused by software failure.

Learning Objectives

Software Safety Training helps participants learn the following:

  • The nature of software hazards, root causes, and the methods by which these hazards may be prevented or discovered.
  • The administrative methods and documentation needed to establish and manage a software safety program; have better understanding of providing evidence for a safety case or proof.
  • Software hazard analysis techniques that helps them identify hazards (the critical thinking part)
  • Risk assessment in terms of severity, probability and control
  • Risk mitigation – the problem solving/ solutions/safe designing

Who Should Attend?

Software engineers, project managers, technical admin, safety engineers, system engineers, testing and V&V engineers, analysts and anyone else who is interested to acquire skills in software safety.

Course Content

Introduction to Software Safety

  • Software Engineering and Software System Safety
  • Introduction to the “Systems” Approach
  • The Software Development Life Cycle
  • Principles of system safety in the design, development, use, and maintenance of software systems
  • Integration with safety-critical hardware systems in an operational environment.
  • The Need for Software System Safety (SwSS)
  • Software System Safety Directives, Documents, Policies and Regulations
  • Safety Requirements and Critical Functionalities
  • Hazards and Design Safeguards for Mitigation
  • Safety Critical Functions

System Safety Program Plan 

  • Overview of Software Safety Standards
  • MIL STD 882-E
  • Joint Software Systems Safety Engineering Handbook, 2018
  • IEEE, IEC and ISO Standards
  • AIAA Standards
  • IEEE 1584 Compliant Software for Hazard Analysis
  • MISRA-C and MISRA C++ Software Safety Guidelines
  • Safety verification of Ada programs using software fault trees
  • Software Safety Program Plan
  • Preliminary Hazard List
  • Software Hazard Analysis
  • Safety Critical Functions List
  • Software Safety Checklist
  • Formal Mathematical Models
  • Software Safety Reliability/Maintenance
  • Safety Requirements Criteria Analysis
  • Safety Requirements Verification Report
  • Safety Assessment Report

Introduction to Risk Management and System Safety

  • A Discussion of Risk in Software Safety
  • Types of Risk
  • Areas of Program Risk
  • System Safety Engineering
  • Safety Risk Management

Software Safety Implementation Process and Tasks       

  • Software Safety Process
  • Software Safety Analyses and Tools
  • Software Safety Planning
  • Hazard Identification
  • Tracking
  • Risk Assessment
  • Risk Mitigation
  • Risk Reduction
  • Failure modes, including hardware, software, human and system are addressed in the design of the software
  • Failure Mode Effect Analysis (FMEA)
  • Failure mode, effects and Criticality Analysis (FMECA)
  • Fault Tree Analysis (FTA)
  • Petri net modeling and software safety analysis
  • Software sneak condition analysis
  • Analyzing unwanted event
  • Sneak conditions and improper operation, loss of system availability, program delays, or even death or injury to personnel
  • Methodologies for embedded military applications
  • Sound software engineering practices
  • Safety issues and safety attributes
  • Software with safety critical functionality

Software Safety Engineering Process

  • Software Safety Engineering Process Charts
  • Software Safety Engineering Products and Tools
  • Software Safety Planning Management
  • Planning
  • Management
  • Software Safety Program Milestones
  • Tailoring Generic Safety-Critical Requirements
  • Preliminary Hazard Analysis Development
  • Derive System Safety-Critical Software Requirements
  • Preliminary Software Design, Subsystem Hazard Analysis
  • Module Safety-Criticality Analysis
  • Program Structure Analysis
  • Traceability Analysis
  • Detailed Software Design, Subsystem Hazard Analysis

Software Safety Engineering Process Cross DoD 5000 Lifecycle Activities

  • Software Requirements Hazard Analysis
  • Top-level Design Hazard Analysis
  • Preliminary Design Review (PDR)
  • Detailed Design Hazard Analysis
  • Critical Design Review (CDR)
  • Code-level Software Hazard Analysis
  • Software Safety Testing
  • Software/User Interface Analysis
  • Software Change Hazard Analysis
  • Analysis of Alternatives (AoA)
  • Initial Capabilities Document (ICD)
  • Systems Engineering Plan (SEP)
  • Technology Development Strategy (TDS)
  • Test & Evaluation Strategy (TES)
  • Software Safety Plan (SSP)

Software Hazard Analysis Process

  • Software Safety Testing & Risk Assessment
  • Software Safety Test Planning
  • Software Safety Test Analysis
  • Software Standards and Criteria Assessment
  • Software Safety Residual Risk Assessment
  • Safety Assessment Report
  • Safety Assessment
  • Planning and Management
  • Task Implementation
  • Software Risk Assessment and Acceptance

Software Planning Interfaces 

  • Engineering Management
  • Design Engineering
  • Systems Engineering
  • Software System Safety Handbook
  • Software Development
  • Integrated Logistics Support
  • Other Engineering Support

Meetings and Reviews 

  • Program Management Reviews
  • Integrated Product Team Meetings
  • System Requirements Reviews
  • System/Subsystem Design Reviews
  • Preliminary Design Review
  • Critical Design Review
  • Test Readiness Review
  • Functional Configuration Audit
  • Physical Configuration Audit
  • Resource Allocation
  • Safety Personnel
  • Safety Schedules and Milestones
  • Safety Tools and Training
  • Required Hardware and Software

Software Safety Program Plans 

  • Risk Management Plan
  • Quality Assurance Plan
  • Reliability Engineering Plan
  • Software Development Plan
  • Systems Engineering Management Plan
  • Test and Evaluation Master Plan
  • Software Test Plan
  • Software Installation Plan
  • Software Transition Plan

Types of Safety Requirements and Procedures

  • Hardware and Human Interface Requirements
  • Interface Requirements
  • Operations and Support Requirements
  • Safety/Warning Device Requirements
  • Protective Equipment Requirements
  • Procedures and Training Requirements
  • Determination of Safety Critical Computing System Functions
  • Design and Development Process Requirements And Guidelines
  • Configuration Control
  • Software Quality Assurance Program
  • Software Design Verification and Validation
  • System Design Requirements and Guidelines
  • Designed Safe States

Software Safety Requirements Verification   

  • Hierarchy Tree Example
  • Detailed Software Design Analysis
  • Verification Methods
  • Example of a Data Flow Diagram
  • Flow Chart Examples
  • System Hazard Analysis
  • Example of a System Hazard Analysis Interface Analysis
  • Documentation of Interface Hazards and Safety Requirements
  • Documenting Evidence of Hazard Mitigation
  • Software Safety Test Planning
  • Software Safety Testing and Analysis
  • Software Requirements Verification
  • Residual Safety Risk Assessment
  • SSHA & SHA Hazard Record Example
  • Hazard Requirement Verification Document Example
  • Software Safety SOW Paragraphs
  • Hazard Severity
  • Hazard Probability
  • Table HRI Matrix
  • Process Tradeoff Analyses
  • Example of a Software Safety Requirements Verification Matrix
  • Safety critical Function Matrix

Workshop and Case Studies

  • Software Safety Activities
  • Tasks and Methods
  • Requirements Hazard Analysis
  • Architectural Design Hazard Analysis
  • Detailed Design Hazard Analysis
  • Code Hazard Analysis
  • System Safety Analysis Techniques
  • FMEA and FMECA
  • FTA
  • Working with Software Safety Analysis Techniques
  • Software FMEA/FMECA
  • Software HAZOP
  • Software FTA
  • Comparison of Software Safety Analysis Methods
  • Sample System Safety Requirements
  • Sample Software Safety Requirements
  • Software and System Hazard Analysis (SHA)
  • System hazard analysis (SHA)
  • Sample Software Requirements Hazard Analysis
  • Sample Software FMEA and FMECA Analysis
  • Sample Software Fault Tree Analysis (FTA)
  • Software Sneak Analysis
  • MISRA-C and MISRA-C++ Overview

Software Safety Training

Request More Information

Please enter contact information followed by your questions, comments and/or request(s):
  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.

Request More Information

  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.