“The Polyspace solution is unique—it detects run-time errors without execution and has the advantage of being exhaustive.”Engineer at EADS
When EADS Launch Vehicles became part of EADS Astrium Space Transportation, it continued to serve as a prime contractor for launching satellites into orbit. On every space mission, ensuring the reliability of the launch is critical. The costs and delays associated with losing commercial, scientific, and military payloads because of a launch failure would be enormous.
EADS must perform extensive verifications and tests, simulating the launch system software’s execution environment. All these tests are conducted on the ground, well before the launch date. To guarantee mission safety, EADS used Polyspace® products for Ada to exhaustively analyze thousands of lines of code and identify potential run-time errors that could cripple a mission.
“The Polyspace solution is unique—it detects run-time errors without execution and also has the advantage of being exhaustive,” notes one EADS engineer.
As a prime contractor, EADS must incorporate and integrate software from multiple third-party sources. While ensuring the reliability of code written in-house is challenging enough, assessing code developed by another organization is substantially more difficult. The EADS team must be particularly thorough in their search for run-time errors that can cause a system crash.
“We are most careful with errors leading to a software halt. These cannot be tolerated,” says an EADS engineer.
Even after running test cases on 100,000 lines of code, EADS engineers could not be certain that all errors had been identified. The EADS team recognized that an error costs approximately one hour to repair when identified in the software development phase, 10 hours in integration, 100 hours in final validation, and more than 1000 hours after deployment.
They needed a way to exhaustively verify all source code and detect every run-time
error as early as possible in the development process.
The EADS Launch Vehicles group used Polyspace products for Ada to detect all run-time errors in their code, including data overflow errors, use of noninitialized variables, and access conflicts.
Using Polyspace products, the engineers pinpointed operations that were certain to cause errors and operations under certain operating conditions.
EADS now uses Polyspace products as a final quality control tool. All software written in Ada, whether subcontracted or developed in-house, is systematically verified using Polyspace products. Tests are conducted on individual applications and on the central software that integrates those applications. The test results are used by software designers and developers to resolve the issues.
Development time reduced. Using Polyspace products at the start of the verification process enabled EADS to speed the detection of software errors, reducing costs and time to market.
Subcontractor code verified. EADS is now able to detect run-time errors in subcontractors’ code, thus ensuring the reliability of the launch vehicle.
Exhaustive tests streamlined. Before Polyspace products, EADS engineers had to devise, write, and execute numerous test cases to exercise all areas of the code. With Polyspace products, all code is analyzed exhaustively, without being executed.