SA-11(8) - Developer Testing and Evaluation | Dynamic Code Analysis

Require the developer of the system, system component, or system service to employ dynamic code analysis tools to identify common flaws and document the results of the analysis.


ID: SA-11(8)
Enhancement of : SA-11

Space Segment Guidance

Dynamic code analysis complements traditional static reviews by observing software behavior under realistic run-time conditions—like simulating heavy radiation bursts or low-voltage brownouts that might trigger unexpected corner cases. Fuzzing communication protocols or internal function calls can reveal memory leaks, race conditions, or input-validation weaknesses in mission-critical modules. Because satellites often rely on specialized OS kernels or custom hardware drivers, standard dynamic analysis tools may need adaptation or instrumentation hooks. Still, the effort pays off: anomalies discovered in a ground-based test harness or hardware-in-the-loop setup are vastly easier to fix pre-launch than post-deployment. Dynamic tests for code reused across missions confirm that new integrations have not introduced subtle regressions, especially around inter-payload data sharing or cryptographic processes.