ManuscriptCompilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized test-case generation tool, and spent three years using it to find compiler bugs. During this period we reported more than 325 previously unknown bugs to compiler developers. Every compiler we tested was found to crash and also to silently generate wrong code when presented with valid input. In this paper we present our compiler-testing tool and the results of our bug-hunting study. Our first contribution is to advance the state of the art in compiler testing. Unlike previous tools, Csmith generates programs that cover a large subset of C while avoiding the undefined and unspecified behaviors that would destroy its ability to automat...
International audienceRandomized differential testing of compilers has had great success in finding ...
We report on an extension to the C-Reduce tool, for automatic reduction of C test cases, to handle O...
ManuscriptTo report a compiler bug, one must often find a small test case that triggers the bug. The...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized ...
The correctness of compilers is instrumental in the safety and reliability of other software systems...
Compiler fuzzing techniques require a means of generating programs that are free from undefined beha...
Despite much recent interest in compiler randomized testing (fuzzing), the practical impact of fuzze...
ManuscriptStatic analyzers should be correct. We used the random C-program generator Csmith, initial...
Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of f...
Software is everywhere in our daily lives, and it is important that software behaves in ways it is e...
Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of f...
posterUndefined behavior (such as divide by 0) or unspecified behavior (such as order of evaluation...
dissertationCompilers are indispensable tools to developers. We expect them to be correct. However, ...
Despite much recent interest in compiler fuzzing, the practical impact of fuzzer-found miscompilatio...
International audienceGiven the complexity and sophistication of code generation and optimization al...
International audienceRandomized differential testing of compilers has had great success in finding ...
We report on an extension to the C-Reduce tool, for automatic reduction of C test cases, to handle O...
ManuscriptTo report a compiler bug, one must often find a small test case that triggers the bug. The...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized ...
The correctness of compilers is instrumental in the safety and reliability of other software systems...
Compiler fuzzing techniques require a means of generating programs that are free from undefined beha...
Despite much recent interest in compiler randomized testing (fuzzing), the practical impact of fuzze...
ManuscriptStatic analyzers should be correct. We used the random C-program generator Csmith, initial...
Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of f...
Software is everywhere in our daily lives, and it is important that software behaves in ways it is e...
Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of f...
posterUndefined behavior (such as divide by 0) or unspecified behavior (such as order of evaluation...
dissertationCompilers are indispensable tools to developers. We expect them to be correct. However, ...
Despite much recent interest in compiler fuzzing, the practical impact of fuzzer-found miscompilatio...
International audienceGiven the complexity and sophistication of code generation and optimization al...
International audienceRandomized differential testing of compilers has had great success in finding ...
We report on an extension to the C-Reduce tool, for automatic reduction of C test cases, to handle O...
ManuscriptTo report a compiler bug, one must often find a small test case that triggers the bug. The...