Полезные ссылки
Здесь я планирую размещать ссылки на ресурсы, которые могут пригодиться людям, интересующимся IT и не только.
Интересные доклады по программированию
Виталий Трифанов и Дмитрий Цителов — Динамическое обнаружение гонок в многопоточных Java-программах
Видео про то, как мужики сделали очень крутой инструмент для детекта data races в java-программах. Как известно, data races появляются тогда, когда операции чтения и записи разделяемой переменной не согласованы по synchronization order (см. java memory model). Рассказывается о том, как ребята занялись этой проблемой и сделали java agent, инструментирующий байткод анализируемого приложения таким образом, что операции чтения и записи полей классов из всех потоков журналируются и параллельно анализируются с помощью векторных часов. Векторные часы позволяют отслеживать такие последовательности операций, которые были не согласованы с точки зрения модели памяти java. Соответственно, на выходе мы имеем логи с сообщениями о местах, в которых были обнаружены такие ситуации.
Инструмент и документацию к нему можно найти здесь.
0