Команда Spring АйО подготовила перевод про Fray — инструмент для обнаружения и воспроизведения ошибок многопоточности в Java-программах.
Основанный на научных исследованиях и написанный на Kotlin, Fray использует технику теневой блокировки для выявления взаимоблокировок и других проблем синхронизации. Он уже доказал свою эффективность на таких проектах, как Kafka, Flink и Lucene.
Комментарий от Михаила Поливаха:
В экосистеме Java уже довольно долгое время существуют решения, которые позволяют тестировать concurrent сценарии, например JCStress от разработчиков OpenJDK или Lincheck от JetBrains.
Важно то, что, как заявляется, Fray способен не просто выявлять баги в concurrency, но и воспроизводить их, а также помочь в разъяснении причин багов, а это very huge deal.
Баги в многопоточности они тем и неприятны, что они плавающие, трудно воспроизводимые и т.д. Если Fray позволит не просто обнаружить баг, но и отдебажить его, то он явно найдет спрос в Enterprise.
📚 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/976924/
