Best Practices for DO-178C Compliance
Everyone who boards a plane assumes that it will stay in the air throughout their journey. The reason? Airborne vehicles — whether a commercial airline or a military jet — need to comply with functional safety standards.
That’s why DO-178C compliance for each software safety level is so critical. It protects the passengers and crew on board — as well as the developers of the hardware and software on the aircraft.
But achieving compliance can be a challenge.
What Is DO-178C?
DO-178C Software Considerations in Airborne Systems and Equipment Certification is a standard used in the aerospace and military/defense industries. It's an update to DO-178B.
Compliance with this standard is required to receive flight-worthiness certification. Without it, you (literally) won’t get your plane off the ground.
Software Safety Levels
DO-178C classifies safety in five levels. Each level corresponds to the consequence if the software fails.
- Level A: Catastrophic
- Level B: Hazardous
- Level C: Major
- Level D: Minor
- Level E: No Safety Effect
These software safety levels are designated based on risk. And the higher the risk, the more safety objectives need to be met. (And the more difficult it will be to prove compliance.)
Levels A through C are the most severe. Level A software failures may result in fatalities through a plane crash. Level B software failures may result in passenger injuries. Level C software failures may cause passenger discomfort.
Levels D and E are much more minor. Level D software failures cause passenger inconvenience, such as flight delays. And Level E software failures have no impact on safety.
How to Comply With DO-178C?
Achieving compliance with the standard is important and needs to be done in all aspects of development.
Planning is critical. You need to plan what you’re going to deliver to market and when — and how you’ll be compliant in your processes.
This means you need to gather requirements. And you need to make sure those requirements account for the standard.
You can manage these requirements in a number of ways. Your requirement document might be in Microsoft Word. Or it might be in a sophisticated .
Your plan should also include quality assurance. How will you make sure your code is compliant? And how will you prove that you’ve tested and verified that those requirements are met?
If you’re using an process, you’re likely setting requirements with test cases in mind. That makes it easier to ensure quality.
The standard should be top-of-mind during development processes.
- Requirements should be clearly defined.
- Test cases should be developed from requirements.
- Code should be written to satisfy those requirements.
- Tests should satisfy test cases and show that requirements are met.
- should link every item.
Verification processes will help you prove you’ve satisfied compliance requirements.
There are three big things you’ll need to verify:
So, you need to confirm that the code satisfies your requirements — compliance and otherwise. This can be achieved by creating a traceability matrix. Then you’ll be able to show the links between requirements, code, and tests — and prove that requirements were met.
You also need to make sure the code conforms to a . This can be achieved through code reviews or by using a .
And, you need to verify your tests and test coverage. One way to do this is by creating tests from a test case. That way you’ll confirm you’ve tested the right things — especially the requirement the test case was written for.
DO-330 Software Tool Qualification Considerations
Tool qualification is part of many compliance standards. For DO-178C, there’s a supplementary standard that does this — DO-330.
While created to supplement airborne industries, the tool qualification requirements can bee used in other industries as well.
So, DO-330 is an important component of compliance. And using already makes this process much easier.
What to Look for in DO-178C Development Tools
Developing software and hardware in the aerospace and military/defense industries is complex. And complying with industry standards makes that process even more complex.
Costs can pile up when you’re proving compliance. But choosing the right tools can help you achieve compliance — and lower the cost of compliance.
Here’s what to look for.
Thorough Test Coverage
If you want to be compliant, you need thorough test coverage.
With Helix ALM, you can from requirements. And you can run tests from test cases. This helps you ensure 100 percent test coverage.
Traceability Across Development
Traceability is always important for compliance. And it will significantly boost your ability to comply.
With , you can establish links between everything. Requirements. Code. Tests. Bugs.
Quality matters. And for aerospace and military/defense organizations, quality is critical.
With , you can improve code quality. And you can comply with your C or C++ coding standard. And with , you’ll rest assured that requirements are satisfied. With these tools combined, you’ll guarantee quality and ship on time.
DO-178C Compliance Is Easy With Perforce
Perforce offers a range of tools that can help you get in compliance throughout your development lifecycle.
Helix ALM brings your requirements, tests, and bugs together in one spot. You’ll be able to demonstrate test coverage for your requirements. And you’ll be able to create a traceability matrix with ease.
Helix QAC verifies that your source code complies with coding standards. This static code analyzer comes with a DO-330 qualification pack to automatically document your tool qualification.