Visure Solutions


Support
Register
Login
Start Free Trial

DO-178B Standard Guide: Software Verification Tools

DO-178B Standard Guide: Software Verification Tools

Table of Contents

Introduction

Safety is of the utmost importance when it comes to the design of software for the aerospace industry, and no safety guideline has been as impactful as DO-178B, also known as Software Considerations in Airborne Systems and Equipment Certification. In this blog post, we’ll discuss what DO-178B is, how to comply with it, and the different tools and certifications that are available to help you do so.

What Is DO-178B?

Published in 1992 by Radio Technical Commission for Aeronautics (RTCA) and developed jointly with EUROCAE, the European Organization for Civil Aviation Equipment, DO-178B is an international guideline that deals with the safety of mission-critical software used in airborne systems and equipment. Even though it is just a guideline and not a policy, DO-178B is seen as a standard for developing avionics software, and even the FAA uses it for guidance when determining if a piece of software will perform reliably in an airborne environment.

Despite being developed specifically to meet the unique needs of the aerospace industry, DO-178B has seen use in other industries as well, often in conjunction with DO-254, also known as Design Assurance Guidance for Airborne Electronic Hardware, which deals with the development of airborne electronic hardware. Just like DO-178B, DO-254 is published by RTCA, a United States volunteer organization whose mission is to develop technical guidance for use by government regulatory authorities and by industry.

What difference between DO-178B and DO-178C?

DO-178B and DO-178C are both standards developed by the Radio Technical Commission for Aeronautics (RTCA) for software used in airborne systems. These standards provide guidelines and requirements for the development and certification of software for use in aircraft systems. The main difference between DO-178B and DO-178C lies in their scope, updates, and improvements.

DO-178B, also known as “Software Considerations in Airborne Systems and Equipment Certification,” was published in 1992 and became the de facto standard for software development in the aerospace industry. It defined a set of objectives and activities to ensure that software used in aircraft systems is reliable and safe. DO-178B is organized into six software levels, ranging from Level A (the most critical) to Level E (the least critical), based on the potential impact of a software failure on the aircraft and its occupants. It provides a systematic process for software development, verification, and validation, including requirements, design, coding, and testing.

DO-178C, also known as “Software Considerations in Airborne Systems and Equipment Certification,” is the updated version of DO-178B. It was published in 2011 and introduced several significant changes and improvements to the standard. DO-178C reflects the advancements in software development practices, technologies, and tools that have occurred since the release of DO-178B. The primary goals of DO-178C were to enhance the consistency and clarity of the standard, improve its usability, and address the challenges associated with modern software development techniques.

One of the notable changes in DO-178C is the addition of a new software life cycle model called the “Model-Based Development and Verification” (MBDV). This model allows for the use of model-based design and verification techniques, which can improve the efficiency and quality of software development. DO-178C also provides clearer guidance on the use of formal methods, object-oriented technology, and the integration of commercial off-the-shelf (COTS) software.

DO-178C maintains the same software levels as DO-178B and continues to emphasize the importance of requirements-based development, rigorous testing, and traceability. It also includes updated guidance on topics such as verification activities, tool qualification, and the use of software models and generated code.

In summary, DO-178C is an updated version of DO-178B that incorporates improvements and addresses the evolving software development practices and technologies. It provides clearer guidance, introduces new life cycle models, and accounts for advancements in software engineering since the release of DO-178B.

Overview of DO-178B

DO-178B describes five failure conditions, which are categorized by their effect on passengers, crew, and aircraft. Their effects are used to determine the Software Level, also known as the Design Assurance Level (DAL) or Item Development Assurance Level (IDAL).  Software Level indicates the amount of effort that goes into the development of the given software application.
  • Level A (Catastrophic) Failure prevents continued safe flight because it may cause a crash by disabling a critical function required to safely fly and land an aircraft.
  • Level B (Hazardous) Failure has adverse effects on occupants because it reduces the ability of the operators to operate the aircraft properly. Serious or fatal injuries may occur.
  • Level C (Major) Failure doesn’t have such a large impact as a Hazardous failure, but it’s still very significant and greatly increases the workload of the operators and reduces the margin in safety.
  • Level D (Minor) Failure doesn’t have such a large impact as a major failure, but it’s still noticeable and may cause passenger inconvenience or a routine flight plan change.
  • Level E (No Effect) Failure doesn’t affect operation capability at all and thus has no impact on the safety of aircraft or the workload of operators.
Reliable data on the costs associated with moving to a higher level are scarce, but the little data that are available point to an increase in development costs between 75% and 150%. The increase is caused largely by the increasing objectives to be met for each criticality level. DO-178B allows a great deal of flexibility when it comes to software development because of its objective-based nature since there are many possible ways for a real project to satisfy them. A generic DO-178B process is divided into five distinct processes, with each process having a set of expected documented outputs:
  • Software Planning This is a description of the software development processes and the software lifecycle that will be used to satisfy the requirements of DO-178B. The output documents include a software development plan (SDP).
  • Development This is a description of the software development processes and the software life cycle that is used to satisfy DO-178C objectives. The output documents include software requirements data (SRD), software design description (SDD), source code, and executable object code.
  • Verification This is a description of the verification processes (Reviews, Analyses, and Tests) used to satisfy DO-178C objectives. The output documents include software verification cases and procedures (SVCP), and software verification results (SVR) with the review of all requirements, design, and code.
  • Configuration Management This is a description of the methods and environment that will be used to configure all of the design data and compliance evidence needed to achieve DO-178C certification. The output documents include the software configuration index (SCI), and software life cycle environment configuration index (SECI).
  • Quality Assurance This is a description of the methods and associated records that will be used to ensure that DO-178C quality assurance objectives are satisfied. The output documents include software quality assurance records (SQAR), software conformity review (SCR), and software accomplishment summary (SAS).

Importance of Software Verification in DO-178B

Software verification is a critical part of the DO-178B standard, as it ensures that the software performs as intended and meets the safety and reliability requirements. The primary goal of software verification is to identify and eliminate software defects and errors before the software is deployed in an aircraft. By using software verification tools, developers can automate various verification activities and improve the efficiency and effectiveness of the verification process.

DO 178c Tool Qualification

Role of Software Verification Tools in DO-178B

Software verification tools play a crucial role in achieving the objectives of the DO-178B standard. These tools help developers automate various software verification activities, such as static analysis, dynamic analysis, and requirements-based testing. Here are some key roles of software verification tools in DO-178B:

Static Analysis Tools 

Static analysis tools analyze the source code of the software without executing it. These tools detect potential defects and violations of coding standards by examining the code structure, syntax, and data flow. Static analysis tools can identify issues such as uninitialized variables, buffer overflows, and unreachable code. By using static analysis tools, developers can catch errors early in the development process, reducing the likelihood of software failures in operation.

Dynamic Analysis Tools 

Dynamic analysis tools monitor the behavior of the software during execution. These tools capture runtime information such as memory usage, function calls, and variable values. Dynamic analysis tools are particularly useful for detecting runtime errors, memory leaks, and performance bottlenecks. They provide insights into the actual behavior of the software and help identify issues that may not be apparent during static analysis.

Requirements-Based Testing Tools 

Requirements-based testing tools facilitate the verification of software against the specified requirements. These tools automate the generation of test cases based on the system requirements and help ensure that all the requirements are adequately tested. Requirements-based testing tools can track the coverage of tests, ensuring that the software has been thoroughly tested against the specified requirements. They help in achieving traceability between requirements, design, and test cases, which is a key requirement of DO-178B.

Considerations for Selecting Software Verification Tools

When selecting software verification tools for DO-178B compliance, several considerations should be taken into account. Here are some important factors to consider:

Tool Qualification 

According to DO-178B, software verification tools used in the development process should be qualified. Tool qualification involves demonstrating that the tools are reliable, effective, and do not introduce additional errors. The qualification process typically includes documenting the tool’s features, limitations, and assumptions, as well as providing evidence of tool validation and verification.

Tool Integration 

The selected software verification tools should be capable of integration into the development environment and the overall software development lifecycle. The tools should seamlessly work with the development tools, compilers, and other software components. Integration ensures smooth workflow and facilitates the automation of verification activities.

Tool Documentation and Support 

Proper documentation and support are essential for using software verification tools effectively. The tools should have comprehensive documentation, including user manuals, tutorials, and examples. Additionally, access to technical support and regular updates from the tool vendor is crucial to address any issues or updates required during the development process.

Compliance with DO-178B

To ensure compliance with the DO-178B standard, software verification tools should be used in accordance with the guidelines specified in the standard. The process of selecting, qualifying, and using the tools should be well-documented, and evidence of tool qualification and validation should be maintained. Additionally, the tools should be applied consistently across the software development lifecycle and be subjected to rigorous testing and review.

How to Support DO-178B?

There are many tools that can help in the DO-178B processes, including development tools, verification tools, and requirements management tools.

The last category of tools is especially important because it should be possible to trace back to the origin of each requirement during the DO-178B processes, and every change made to the requirement should, therefore, be documented in order to achieve traceability. In fact, the use of the requirement after the deployment of the implemented features should be traceable as well.

Developing DO-178B-compliant software for airborne systems without a software tool capable of providing deep and rigorous traceability of the project artifacts throughout all the stages of the development would be impossible.

Documentation Required for DO-178B

There are several documents required for DO-178B compliance. They include:

  • Plan for Software Aspects of Certification (PSAC)
  • Software Quality Assurance Plan
  • Software Configuration Management Plan
  • Configuration Control Procedures
  • Software Code Standard
  • Software Design Standard
  • Software Requirements Standard
  • Software Development Plan
  • Software Verification Plan
  • Source, Executable Object Code, SCI and SECI
  • Software Design Document
  • Software Requirements Document
  • Traceability
  • Test Cases and Procedures
  • Verification Results
  • Quality Assurance Records
  • Configuration Management Records
  • Problem Reports
  • Software Accomplishments Summary

Supporting the DO-178B with a Requirement Management Tool

Requirement management tools such as Visure Requirements can support DO-178B by providing end-to-end traceability between all the requirements, verification, problem reporting, checklists, and project artifacts. It offers a cohesive environment that acts as a centralized and open repository for all artifacts, including DO-178B objectives.

With Visure Requirements, it’s easy to standardize and enforce the defined processes across the organization to comply with the DO-178B guideline and do so in an accessible, collaborative, and cost-effective manner.

Thanks to its versatile Integration Platform, Visure Requirements can integrate with third-party, commercial, or proprietary, tools to extend the change impact analysis features to elements out of its scope in order to further support DO-178B.

Other requirements management features of Visure Requirements include filters, user-defined views, role-based user interface, graphically defined requirement process and traceability, built-in workflows, an unlimited number of user-defined attributes, version management, and comparison, and roll-back to older versions, among others.

Conclusion

DO-178B is a software standard that ensures safety-critical software is designed, developed, and tested in a consistent and repeatable manner. The standard has been around since the early 1990s and has been updated over time to account for changes in technology. Many commercial aviation organizations require their suppliers to be certified to DO-178B as part of doing business with them. In order to achieve certification, organizations must go through a rigorous process that includes documenting all aspects of the software development lifecycle. Visure Requirements ALM Platform is one of the few requirements management tools that has been certified to support DO-178B at Level A, the highest level of certification. If you are looking for an end-to-end solution for managing your requirements and want to ensure compliance with this important standard, give Visure Requirements a try today. Try out the Free 30-day Trial Now!

Don’t forget to share this post!

Top

Implementing AI Best Practices To Optimize Avionics Requirements

September 12th, 2024

11 am EST | 5 pm CEST | 8 am PST

Fernando Valera

Fernando Valera

CTO, Visure Solutions

Reza Madjidi

Reza Madjidi

CEO, ConsuNova Inc.

An Integrated Approach with Visure Solutions and ConsuNova Inc.

Learn how does AI help in Optimizing Avionics Requirements for Safe Takeoff & Landing