image-blog-do-178c
July 2, 2018

DO-178C Compliance Best Practices

Security & Compliance
Application Lifecycle Management

DO-178C is a functional safety standard that helps to ensure that a plane will stay in the air as it travels from Point A to Point B. 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.

Read along or jump ahead to the section that interests you the most:

➡️ Start Your Free Helix QAC Trial

Back to top

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.

 

Back to top

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.

Back to top

How to Comply With DO-178C?

Achieving compliance with the standard is important and needs to be done in all aspects of development.

Planning

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 requirements management tool.

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 Agile ALM process, you’re likely setting requirements with test cases in mind. That makes it easier to ensure quality.

Development

The standard should be top-of-mind during development processes.

This means:

  • 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.
  • Traceability should link every item.

Verification

Verification processes will help you prove you’ve satisfied compliance requirements.

There are three big things you’ll need to verify:

  • Requirements
  • Code
  • Tests

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.

📕 Related Resource: How to Create a Traceability Matrix>>>

You also need to make sure the code conforms to a coding standard. This can be achieved through code reviews or by using a static analysis tool.

📕 Related Resource: Intro to Coding Standards>>>

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.

Back to top

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 qualified tools makes this process much easier.

Back to top

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 create test cases 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 Helix ALM, you can establish links between everything. Requirements. Code. Tests. Bugs.

Quality, Guaranteed

Quality matters. And for aerospace and military/defense organizations, quality is critical.

With Helix QAC, you can improve code quality. And you can comply with your C or C++ coding standard. And with Helix ALM, you’ll rest assured that requirements are satisfied. With these tools combined, you’ll guarantee quality and ship on time.

Back to top

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 alm free trial

 

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.

▶️ watch the helix qac demo

Back to top