Month: July 2013

  • C-Reduce 2.1

    Over the weekend we released a new version of C-Reduce, a tool for turning a large C/C++ program into a small one that still meets some criterion such as triggering a compiler bug. There are two major improvements since the last release about a year ago: We are now able to run “interestingness tests” in…

  • Finding Undefined Behavior Bugs by Finding Dead Code

    Here’s a draft of a very cool paper by Xi Wang and others at MIT; it is going to appear at the next SOSP. The idea is to look for code that becomes dead when a C/C++ compiler is smart about exploiting undefined behavior. The classic example of this class of error was found in…

  • What Other Dynamic Checkers for C/C++ are Needed?

    Detectors for memory-related undefined behaviors in C/C++, while being imperfect, are at least something that smart people have spent a lot of time thinking about. Integer-related undefined behaviors have received much less attention, but then again they are a lot simpler than memory unsafety. Today’s question is: What other checkers should we create? Here are…