Ertl, M. A. (2023). Memory Safety Without Tagging nor Static Type Checking. In https://doi.org/10.34726/5401. 38th EuroForth Conference, Italy. https://doi.org/10.34726/5428
A significant proportion of vulnerabilities are due to memory accesses (typically in C code) that memory-safe languages like Java prevent. This paper discusses a new approach to modifying Forth for memory-safety: Eliminate addresses from the data stack; instead, put object references on a separate object stack and use value-flavoured words. This approach avoids the complexity of static type checking (used in, e.g., Java and Factor), and also avoids the performance overhead of dynamic type checking for non-memory operations. This paper discusses the consequences of this approach on the language, and on performance.