CODING STANDARD RULE SETS
CODE ANALYSIS FEEDBACK
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.
The company faced two primary challenges surrounding coding standards.
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.
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:
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.
With Parasoft C/C++test fully integrated into their software development process, the avionics company created a custom static 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.
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.