jbreak JBreak 2017 (04.04.2017)

Как найти дедлок, не попав в него

img

О разработке инструмента для определения потенциальных дедлоков. Будет рассказано и про алгоритмы, и про трансформацию классов, и про производительность реализации.

Дедлоки – одна из наиболее актуальных проблем при разработке многопоточных приложений. В рамках этого доклада будет рассмотрен инструмент Dl-Check, используемый для поиска потенциальных дедлоков. В ходе разработки подобного инструмента не обойтись без инструментации байт-кода, для реализации которого стандартом де-факто является фреймворк ASM.

В первой части доклада будет представлен основной алгоритм указанного инструмента, который позволяет эффективно находить потенциальные дедлоки в процессе работы приложения. Вторая часть доклада будет посвящена инструментации байт-кода, а также полезным техникам и нетривиальным проблемам, связанным с ней.