In safety-critical software, even the smallest change matters. If a library is modified, even slightly, it’s treated as new software and must undergo full qualification under applicable safety standards.
Unmodified libraries, however, follow specialized qualification processes. These include rigorous positive and negative testing and achieving maximum code coverage metrics, such as Modified Condition/Decision Coverage (MC/DC).
MC/DC is a white box testing criterion that ensures every condition in a decision independently affects the outcome.
Example:
In a Boolean expression like
(A && B) || C
MC/DC requires demonstrating that changing each variable (A, B, or C) alone can alter the result.
This level of testing is mandated by standards like DO-178C for the highest safety levels and provides strong assurance that the software logic has been thoroughly exercised.