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.

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.