Engineering PapersSearch

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

BibTeXRIS

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.