Strange Loop

EventRacer: Finding Concurrency Errors in Event-Driven Applications

We have recently shown that event-driven applications such as Web pages and Android applications are susceptible to concurrency errors. Perhaps counter-intuitively, these races occur despite the fact that the application often runs in a single thread. Such races are subtle, hard to detect yet may cause serious damage: JavaScript crashes, lost e-mails, broken UIs, broken analytics, etc.

In this talk, I propose to discuss EventRacer (, a powerful new open-source analysis system developed at the Software Reliability Lab at ETH Zurich, that finds harmful concurrency errors in event-driven applications such as web pages and Android applications. I will illustrate how these concurrency errors can occur in real-world applications as well as the key analysis mechanisms behind EventRacer:

Finally, I will demo the system on real world applications (e.g. Google Maps, open-source Android apps) and discuss various future directions including extending the system, new UI navigation, statistical classification of reports, and others.

We believe that EventRacer can be a valuable tool in the life of everyday web and Android developers.

Pavol Bielik

Pavol Bielik

ETH Zurich

Pavol Bielik is a PhD student at the Software Reliability Lab at ETH Zurich. He is passionate about mobile technologies and competed at the University Mobile Challenge World Finals hosted at GSMA Mobile World Congress'14. He developed EventRacer for Android - an end-to-end race detection tool for Android applications that discovers concurrency bugs. His interests include program analysis, machine learning and parallel and high performance computing.