Поиск (не)соответствий в байт-коде

День 2 /  / Зал 3  /  EN /

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

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

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

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


Евгений Мандриков
SonarSource

Евгений участвует в различных проектах с открытым исходным кодом и выступает на международных конференциях и JUGах. Он является одним из ведущих разработчиков JaCoCo, а также руководителем проекта EclEmma в Eclipse Foundation, интегрирующего JaCoCo в Eclipse IDE. В своей повседневной работе в SonarSource Евгений занимается разработкой статических анализаторов кода для таких языков, как Java, C / C++, C#, JavaScript.

Прошлые выступления спикера