jokerconf Joker 2018 (19.10.2018)

Java 4..11, Kotlin, Code Coverage и их лучший друг — байткод: скандалы, интриги, расследования

img

Знаете ли вы, что внутри ваших .class-файлов? А готовы поспорить? Давайте повеселимся, исследуя конструкции байт-кода, и изучим, как различные компиляторы (Java/Kotlin) и их версии преобразуют ваш исходный код.

Комментарий Программного комитета:

Доклад на примерах иллюстрирует фундаментальные ограничения, с которыми сталкиваются инструменты, работающие на уровне байт-кода. Послушать будет полезно всем, кто работает с JVM-языками. Будет и Kotlin, и Java 11, и даже Java 1.4 для любителей археологии.

Знаете ли вы, что внутри ваших .class-файлов? А готовы поспорить? Давайте повеселимся, исследуя конструкции байт-кода, и изучим, как различные компиляторы (Java/Kotlin) и их версии, включая недавно выпущенный javac 11, преобразуют ваш исходный код.

Наши исследования будут основаны на деталях реализации самого популярного инструмента для анализа покрытия Java-кода тестами — JaCoCo, чья недавно выпущенная версия находит в байт-коде и отфильтровывает вспомогательные конструкции, генерируемые компиляторами, которые в противном случае требуют зачастую сложных и ненужных ухищрений, чтобы добиться полного покрытия кода.