A federal agency develops an air navigation aid system for the aviation industry to augment the global positioning system (GPS) with the goal of improving its accuracy and availability. On its own, GPS isn’t intended for exact location measurement. The implementation of the air navigation aid system allows for precise approaches such as take off and landing. The system uses ground-based reference stations to broadcast correction messages to improve the accuracy of GPS.
Part of the air navigation aid system relies on embedded systems developed with C programming language and in compliance with RTCA DO-178C. Some parts of the system are developed to design assurance level (DAL) B and other parts to DAL D. In many cases, the validation and verification requirements include rigorous testing and measurement of code coverage achieved during testing. DO-178C requires a suitable level of coverage. Recording test results and coverage are important development artifacts.
The federal agency and their primary contractor were struggling with a legacy code coverage system that was incompatible with the modern requirements of the air navigation aid system and the regulation compliance they required. In addition, the lack of integration between the various development and testing tools was causing delays and increased effort to achieve compliance.
The federal agency needed to find an updated modern testing and code coverage measurement solution that would work with the Wind River VxWorks operating system and within the Wind River Workbench IDE.
The primary contractor for the air navigation aid system was already a Parasoft C/C++test user. The federal agency adopted the product from this relationship. This satisfied their need for a modern static analysis solution and solved their unit testing and code coverage issues. The unified solution provided by Parasoft was an attractive alternative to their legacy tools.
The development group for the air navigation aid system chose Parasoft C/C++test to perform the following:
- Statement coverage
- Branch and MC/DC code coverage
- Static analysis
- Unit testing
The group uses the unified solution at the desktop level within their IDE, where engineers can do the following:
- Check out code and make edits.
- Run static analysis.
- Address any coding standard deviations.
“Parasoft C/C++test gave us all the software test automation solutions we needed in one package to help us satisfy compliance to DO-178C for a very large code base.”
—Brenton Graefe, software engineer
The development group uses Parasoft DTP to host test configurations and provide project-wide status from testing, coverage, and coding standard compliance. In this case, they follow an augmented MISRA C-based standard.
The Parasoft automated software testing solution provides macro and micro levels of detail about the testing status and results of the air navigation aid system than previously possible. The detailed code coverage from Parasoft C/C++test gives the group the insight they were missing with their legacy tool.
Using Parasoft DTP, the group can view the entire software development life cycle process and determine at a high level what they need out of testing.
The level of test automation in the project has increased dramatically since adopting the Parasoft solution. As a result, there’s a reduction in the amount of time it takes to test code. There’s also a decrease in labor and costs.
TAKE THE NEXT STEP
Request a demo to see firsthand the value of using a unified C/C++testing solution.
“MISRA”, “MISRA C” and the triangle logo are registered trademarks of The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. All rights reserved.