Principles for Undefined Behavior in Programming Language Design
blog.regehr.org