Memory safety とは

メモリの安全性は、バッファオーバーフローやポインタの絡みなど、メモリアクセスを処理する際のさまざまなソフトウェアのバグやセキュリティの脆弱性から保護されている状態です。たとえば、ランタイムエラー検出で配列の境界とポインタの逆参照がチェックされるため、Javaはメモリセーフであると言われています。対照的に、CおよびC ++では、境界チェックのための規定がない直接メモリアドレスとして実装されたポインタでの任意のポインタ演算が可能であるため、メモリ不安全と呼ばれます。