United Space Alliance Selects LDRA tool suite to Verify Software on Orion
Who is United Space Alliance?
United Space Alliance is a space operations company jointly owned by The Boeing Company and Lockheed Martin Corporation. Founded in 1996, USA has served as NASA’s primary industry partner in manned space operations for day-to-day management of the space shuttle fleet and in the planning, training and operations of space shuttle missions and the International Space Station. Software developed by USA is used in various NASA programs and space craft, including Orion.
What was the challenge?
To ensure the highest quality software for Orion’s flight system, USA needed tools to rigorously ensure that the software that they developed met specified objectives, conformed to programming standards, managed software development and eased the certification process. Four years ago, as the Orion project launched, the LDRA tool suite replaced in-house and existing third-party test tools to become USA’s test tool of choice.
“We needed tools capable of enforcing programming standards as well as managing the configuration process to check that we produced consistent, good quality software,” stated Trevor Tidwell, Software Development Engineer, USA. “LDRA offers the ability to configure and apply a fixed centralised test model, guaranteeing that we consistently test compliance to the same programming standards and in the same execution environments.”
How did LDRA provide a solution?
Compliance to selected programming rules as well as code complexity metrics enable developers to identify and correct any errors visible just by examining the code statically. “In an embedded system, static analysis is not all that complicated,” commented Tidwell. “The real challenge lies in testing the application as it executes.”
Previously, USA had a separate team of developers dedicated to hand-coding a test harness. To ensure it would correctly test the application, the harness had to be fully qualified to confirm that it contained the mechanisms needed to evaluate the results.
In contrast, Tidwell attests, “Once the LDRA tool suite has analysed the code, it knows the input and output, expected returns and types, and every function. So, instead of spending months hand-coding and qualifying a test harness, the tool can use this information to automatically generate a test harness that will call every function, feed data in and out, and test every path of the program.”
“For a system as sophisticated as Orion, creating a test harness is still not trivial,” Tidwell adds. “It takes a lot of work to get it working reliably and consistently, but it’s significantly less time than hand-coding.”
What edge did you gain?
In bringing the LDRA tool suite onboard, USA achieved a number of immediate goals. Thanks to the common configuration script, a unit test can be created and used by anyone on any team without inconsistencies. Unit test regressions can be rerun and checked without recreating test harness details. As a result, the focus is on the code and not on getting the test harness to compile.
“We’re no longer bogged down with various interpretations and it automatically incorporates the test regressions. We can immediately see how other team members are doing development and using unit testing which has lead to an overall improvement in process and documentation,” confirmed Tidwell.
With the move to commercial development of spacecraft, USA has seen a marked increase in opportunities. Tidwell expects that these efforts will realise the true ROI of their commitment to the LDRA tool suite and hence more automated test processes.