D.J.Bernstein предлагает создать скучный компилятор сишки, который навсегда выберет к-л конкретное поведение для всех сортов UB, чтобы решить проблемы с безопасностью.
As a boring platform for the portable parts of boring crypto software, I'd like to see a free C compiler that clearly defines, and permanently commits to, carefully designed semantics for everything that's labeled «undefined» or «unspecified» or «implementation-defined» in the C «standard». This compiler will provide a comprehensible foundation for people writing C code, for people auditing C code, and for people formally verifying C code.
...
Overall I think that these people simply don't understand what most C programmers want. A boring C compiler will very quickly gain users---not merely for security but also for predictability in general; people will appreciate, e.g., having variables automatically initialized to 0. Of course, the compiler has to support the usual C ABI, so that programs compiled with this compiler can be linked to libraries compiled with other compilers (including other languages), and vice versa, allowing an incremental upgrade process.
А я бы юзал. Чем вспоминать каждый раз, какие там допустимые границы значений, где в этом темном подземелье раскиданы грабли, и надеяться на лучшее (привет, memcpy!), лучше следовать принципу debug once, compile everywhere. Производительность для большинства задач проблема даже не первого десятка, а реальные оптимизации все равно всегда были hand-crafted.
Кто что думает?
Перемещено JB из talks