 The memory addresses can be either random or chosen by the attacker.An approach to achieve secure low-level code is to use safe high-level languages.A safe language is considered to be completely defined by its programmers' manual.