Programming Language Semantics and Memory Safety
Summary
An accessible survey of formal semantics (operational, denotational, axiomatic) and how memory safety emerges from these models. It connects UB in C/C++ to compiler optimizations and argues that formal reasoning can improve safety, with Rust as a modern example.