QinetiQ Space N.V. is the Belgian space division of UK-based QinetiQ Corporation, specializing in the development of high-reliability products that are deployed in the harsh environment of space, including avionics, electric propulsion, microgravity research instruments, robotic systems, space security, space exploration, remote sensing and small satellite systems.
With their products continuously increasing in terms of the amount of software used and the complexities involved, QinetiQ’s management recognized increasing risk for system flaws caused by software bugs, and the need for early detection of unwanted side effects of new implementation. The organization needed a way to reliably manage the quality of software in their products.
QinetiQ Space manages the development of high-reliability space products, from concept to in-orbit operations. To make this possible, the Electronics and Software Engineering (ESE) department has engineers committed to listening, understanding and responding to their customers’ needs. For embedded software development, team members are specialized to develop safety-critical software applications ranging from boot loaders, low-level device drivers, communication protocols, system services, and real time application software.
To manage the sheer amount of software used and the complexities of these safety-critical systems deployed in the harsh environment of space, management identified the need for quality control tools to prevent loss of product quality or customer satisfaction. The organization selected Parasoft C/C++test to mitigate these risks, specifically to, among other things, perform MISRA C/C++ static code analysis, design and execute software unit testing, and measure test coverage.
Over the other tools considered in the evaluation, Parasoft’s tool suite was more complete. Because C/C++test integrates all required features in a single application (avoiding the need to have other tools), the QinetiQ software development team benefits by only using one user interface that supports navigation of identified issues with just a few mouse clicks. Also important to the selection team was the ability to adopt coding rules to their organization’s specific software quality requirements, for which Parasoft provides unique support.
QinetiQ must also meet the stringent requirements defined in the European ECSS-E-ST-40C, ECSS-Q-ST-80C, and EN 9100 software engineering and quality standards, and Parasoft C/C++test was able to support them while exhibiting the most attractive software quality control features vs. cost ratio. In addition, it became noticeable that the tool suite was already widely accepted by the safety-critical software development community, which also contributed to the justification of their choice.
Today, the QinetiQ embedded software team uses Parasoft C/C++test to:
QinetiQ has been using the Parasoft C/C++test tool suite for many years for embedded software development ranging from box-sized scientific instruments for the International Space Station to small-sized autonomously operating satellites. They easily integrated and upgraded the Parasoft C/C++test tool suite into their existing software development environment.
The QinetiQ software team delivers high-quality, reliable, and “first-time-right” software products, meaning that the product has to safely, robustly, and correctly operate according to its specifications in a remote and sometimes inaccessible space environment. An evolutional lifecycle is applied during product development to achieve this, where at successive project review milestones an increased quality of the product will be achieved and demonstrated. By the time the satellite hardware is on top of the launcher, the software has to be ready and validated.
QinetiQ measured the value of using Parasoft C/C++test by monitoring the number of Software Problem Reports (SPR) during development. Since integrating Parasoft C/C++test in their software development process, they have observed a significant reduction of SPR’s being issued during software development—approximately 75%.
The integration of Parasoft C/C++test also enabled the development team to self-verify the quality of software code. Self-verification is an important asset because it implicitly leverages software quality while at the same time, less development time is required due to less bugs to solve after an intermediate verification and release cycle. Consequently, QinetiQ’s overall development cost has been reduced and no flaws were observed in their products after deployment, hence product quality has increased. (Note that critical software development demands for severe product verification, so “no flaws” means: 100% unit test coverage, 100% requirements verification coverage, dedicated software safety tests by failure injection and Independent Software Verification/Validation (ISVV).)
The integration of Parasoft C/C++test also enabled the product assurance manager to acquire objective software process metrics, which has been useful to demonstrate to QinetiQ’s customers the evolution of their software product. This creates customer confidence, improves long-term relationships, and empowers future ventures.
“Parasoft C/C++test is now an integral part of our critical software development activities. Its integration in our software development process resulted in more efficient production of software code with significantly higher yield. In order to maintain our current production efficiency and quality levels we foresee that the provided solution must remain in our software tooling arsenal. It is planned to use the solution also for less critical application development.”
– Peter Matthijs, Avionics Software Architect
Discover an effective framework to use when selecting a static analysis solution. Download the whitepaper.