NASA NTRS · 20060019189
Seeing the Invisible: Embedding Tests in Code That Cannot be Modified
Abstract
The difficulty of characterizing and observing valid software behavior during testing can be very difficult in flight systems. To address this issue, we evaluated several approaches to increasing test observability on the Shuttle Abort Flight Management (SAFM) system. To increase test observability, we added probes into the running system to evaluate the internal state and analyze test data. To minimize the impact of the instrumentation and reduce manual effort, we used Aspect-Oriented Programming (AOP) tools to instrument the source code. We developed and elicited a spectrum of properties, from generic to application specific properties, to be monitored via the instrumentation. To evaluate additional approaches, SAFM was ported to Linux, enabling the use of gcov for measuring test coverage, Valgrind for looking for memory usage errors, and libraries for finding non-normal floating point values. An in-house C++ source code scanning tool was also used to identify violations of SAFM coding standards, and other potentially problematic C++ constructs. Using these approaches with the existing test data sets, we were able to verify several important properties, confirm several problems and identify some previously unidentified issues.
Keep this discovery
Explore connections, maps & timelines
O'Malley, Owen, Mansouri-Samani, Masoud, Mehlitz, Peter, Penix, John. 2005-01-01. Seeing the Invisible: Embedding Tests in Code That Cannot be Modified. https://ntrs.nasa.gov/citations/20060019189
Cite the original work for its findings. Save a collection to share your selection of sources.