
Максим Казанцев
Azul Systems
Стабильность и функциональная корректность — это то, чего ждут пользователи Java-машин. А еще они ждут, что скомпилированный ими код будет работать быстро. Для этого существуют компиляторные оптимизации, но чем агрессивнее они улучшают код, тем больше проблем в них может быть скрыто. Так как же помирить такие противоречивые цели, как скорость и корректность скомпилированного кода? Особенно если ваш компилятор основан на LLVM, и в него вливаются десятки тысяч строк изменений каждую неделю? Как находить скрытые баги у себя дома до того, как пользователь наткнется на один из них? В докладе расскажу, как мы ищем функциональные проблемы в компиляторе Java-машины Zing, используя автоматический генератор тестовых программ на языке Java.
Azul Systems