Month: April 2011

  • Volatile Bugs, Three Years Later

    Almost exactly three years ago Eric Eide and I submitted a paper Volatiles Are Miscompiled, and What to Do about It to the 8th International Conference on Embedded Software (EMSOFT 2008). The points made in this paper were that: C compilers fail to reliably translate accesses to volatile-qualified objects we can automatically detect these failures…

  • Who Fuzzes the Fuzzer?

    Although it’s fun to act like our tool Csmith is an infallible compiler smashing device, this isn’t really true. Csmith is made of ~40,000 lines of C++, some of it quite complicated and difficult. Csmith probably contains about as many bugs per LOC as your average compiler. So how do we debug the bug-finding tool?…