Azul Systems’ Engineer Maxim Kazantsev spoke at this conference about ‘Fuzz testing: finding bugs in JIT compilers’.
Stability and functional consistency are what Java machines’ users usually expect, along with the efficiency of the code they’ve compiled. For this very purpose, there are compiler optimizations, but the more aggressively they improve the code, the more problems can occur.
So how can we achieve both speed and consistency of the compiled code? Especially if your compiler is based on LLVM and tens of thousands of changed code lines are added to it every week? How to find hidden bugs before any user runs into them?
In this talk Maxim shared how to look for functional problems in the compiler, using automatic generators of Java test programs.