all speakers

Kevin Bierhoff

Kevin Bierhoff

Bringing Kotlin to Google

Kevin leads the Kotlin at Google team that helps Googlers use Kotlin in their daily work, including on Android and JVMs.

Preventing Data Races in Async Coroutines

It’s deceivingly easy to introduce race conditions into coroutines running asynchronously. In this talk we review some techniques that we’ve found effective at Google at detecting and preventing race conditions: static analysis and TSAN. First, a combination of interlocking static analyses allows flagging some potentially racy code at compile time based on heuristics. Second, we can leverage TSAN to detect race conditions when running (multithreaded) tests.