A leader in the defense and aerospace industry has been building military and civil aviation aircraft for over eighty years. During this period of time, they evolved from building electromechanical systems to designing and developing advanced hardware and software aviation systems for various platforms. During the last 50 years, the avionics group has been cultivating a development culture of achieving, maintaining, and delivering safe, secure, and reliable aeronautic systems.
This leading avionics company builds components that consist of flight control and actuation systems with the highest safety-critical requirements. Failure is completely unacceptable. They supply systems to other OEMs, including manufacturers of helicopters and autonomous aircraft. The company specializes in creating DO-178C compliant avionic systems for aircraft situational safety and awareness, radio and audio management, data acquisition, and airborne computers systems. Additionally, they build temperature and vibration sensors.
Jump to Section
Watch a preview of the presentation by this avionics systems leader at the Embedded Software Testing & Compliance Summit 2021. Learn how they leveraged automated testing technologies to efficiently deliver safe, secure avionics systems and maximize testing ROI.
The company faced two primary challenges surrounding coding standards.
Incorporating a coding standard to comply with DO-178C and pass the audit.
Finding a customizable testing tool to enforce its company rules and standards.
Complying With DO-178C
Currently, the company must design, develop, and test their flight control system to the strictest avionics process standard, RTCA DO-178C DAL A. Part of the verification and validation phase of DO-178C calls for applying static code analysis and using a coding standard. Using a coding standard to comply with DO-178C is vital. Incorporating it brings challenges.
Satisfying the aviation certification authority is most important. If the system doesn’t pass the audit requirements that come with DO-178C and receive certification, then delivery of the system is not allowed to take place. These audit obligations exist to ensure safety. They verify the fulfillment of all DO-178C requirements with proof demonstrating that the team followed sound software development practices and testing occurred with passing results.
Testing Custom Coding Standards
The avionics company has its own best practices and high standards about how to write code. As such, the software development team built and deployed their own coding standards based on proven coding practices accrued throughout the years and augmented them with existing industry standards like MISRA C and ISO C90.
The adoption of these custom standards avoids coding constructs that cause unwanted and unpredictable behavior. It also ensures across all projects and groups, that code is:
With a goal to increase the efficiency of their code review process, the team needed a tool to automate and assist in performing code analysis and coding enforcement. Other requirements for the tool included:
Enforcement of all custom coding rules and guidelines.
Documentation of the team’s due diligence for later audits.
Traceability, which is also required by DO-178C.
The challenge was finding a testing tool that allowed the company to customize the coding rules and guidelines. The company required a solution that went beyond out-the-box.
With the need to fully customize coding standard rule sets, the avionics leader selected Parasoft C/C++test solution to automate coding standard analysis, reviews, and enforcement for its safety-critical software. They rely on Parasoft’s support for MISRA C, DO-178C, and its own customized set of rules.
The objective of customizing coding standards and automating testing was to increase overall development efficiency and make code easier to review, debug, update, and maintain.
The company also needed a solution that would integrate into their safety-critical development process. Smoothly integrating into their development workflow, Parasoft C/C++test automates their coding standards and review process.
The avionics company implemented Parasoft C/C++test into their safety-critical software development process to yield notable benefits.
Provide continuous feedback to developers. During development, the team uses the solution to analyze code under development and gets direct feedback to developers as they work. They get instant feedback on coding standard compliance and early detection of defects.
Help onboard new developers. New personnel can get up to speed on the company standards. New hires can quickly learn the coding standards due to immediate support and feedback from the tools.
Automate the code review process. The company automated the tedious parts of their code review process so the team can concentrate on the parts of the review that require human intervention like satisfying requirements, design, and implementation decisions.
Enable rule customization. Our customer developed their own static analysis rule set to satisfy their specific requirements for their aerospace projects. Parasoft C/C++test rule customization capabilities were an important feature for creating these rules.
Prepare software for long life cycles. In the aircraft industry, software needs to be ready for flight for 30 years or more. This means that maintenance and updates are an important design and implementation consideration. Knowing that their code complies to corporate standards means that it is more readable and maintainable for future developers.
Qualify tools. Safety-critical standards require that tools used during development meet quality standards implied for the product being developed. In this case, the company is looking to qualify Parasoft C/C++test to DO-178C, supplement DO-330, Software Tool Qualification Considerations Supplement. Parasoft provides tool qualification kits for this standard and others, which helps reduce the workload and time to perform the necessary testing and documentation.
With Parasoft C/C++test fully integrated into their software development process, the avionics company created a custom static program analysis ruleset to evaluate their company-wide software against their safety-critical focused coding standard.
With the tools in place and process incorporated into part of the development workflow, they get immediate feedback during coding to help developers conform to the custom standards and help new developers get up to speed.
TAKE THE NEXT STEP
Learn how your avionics software development team can leverage one unified testing solution to optimize multiple automated testing technologies and maximize testing ROI. Download the whitepaper.