Use of memory-safe languages


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).