Software Memory Safety

“The National Security Agency (NSA) published guidance today to help software developers and operators prevent and mitigate software memory safety issues, which account for a large portion of exploitable vulnerabilities.”

See this link NSA Releases Guidance on How to Protect Against Software Memory Safety Issues > National Security Agency/Central Security Service > Article

The report says:

“Using a memory safe language can help prevent programmers from introducing certain
types of memory-related issues. Memory is managed automatically as part of the
computer language; it does not rely on the programmer adding code to implement
memory protections. The language institutes automatic protections using a combination
of compile time and runtime checks. These inherent language features protect the
programmer from introducing memory management mistakes unintentionally. Examples
of memory safe language include C#, Go, Java®, Ruby™, Rust®, and Swift®.”

Does Julia also protect the programmer from making unintentional memory management mistakes? I expect the answer to be yes, but would like to hear about this issue from the experts.

1 Like

Julia is mostly memory safe. You usually have to do something specific if you want to get around safety checks, like using @inbounds. There are a few unfortunate exceptions where umanaged memory accesses happen without the user specifically asking for it like Warn on uninitialized isbits-fields in structs? · Issue #24943 · JuliaLang/julia · GitHub.

2 Likes