Cuoq/Regehr: Undefined Behavior in 2017
Here is a detailed summaryof undefined behavior in C and C++ programs - and the tools that can beused to detect such behavior - by Pascal Cuoq and John Regehr."The state of the art in debugging tools for strict aliasingviolations is weak. Compilers warn about some easy cases, but thesewarnings are extremely fragile. libcrunch warns that a pointer is beingconverted to a type "pointer to thing" when the pointed object is not, infact, a 'thing.' This allows polymorphism though void pointers, but catchesmisuses of pointer conversions that are also strict aliasingviolations."