Explanation: Some programming languages are designed to prevent many of the memory 10 access errors listed previously. Selecting such a language effectively rules out large classes of these vulnerabilities.
Vulnerabilities addressed: Addresses memory safety vulnerabilities including buffer overflow, null pointer dereference, use after free, uninitialized memory use, and illegal free.
Developer resources required: Requires programmers trained in the selected language, compilers, and runtime libraries for the language.
Evaluator resources required: Requires the ability to recompile the source code using a compiler for the memory-safe language (to confirm that the object modules have been produced as claimed).