Finding Bugs Compiler Knows but Doesn’t Tell You-Dissecting Undefined Behavior Optimizations in LLVM

Undefined Behavior, like signed integer overflow or accessing null pointer, is an erroneous action that makes programs unpredictable. There are no rules on how to generate code for Undefined Behavior. Compiler writers can treat Undefined Behavior as nasal demons and do anything they choose….

By: Mingyue Liang, Wei Liu, Kai Song & Zekai Wu

Full Abstract & Presentation Materials: HatRead More