EventRacer: Finding Concurrency Errors in Event-Driven Applications
summary
EventRacer is an open-source static/dynamic analysis system for finding concurrency races in event-driven applications like web pages (JavaScript) and Android apps. It uses a scalable graph-connectivity algorithm based on chain decomposition, introduces the notion of "uncovered races" to reduce false positives, and applies practical pattern filters; the talk includes demos on real apps (e.g., Google Maps, open-source Android apps) and discusses performance advantages over prior detectors.
AI-written summary · about
chapters (9)
- 0:00Intro
- 1:00Android Errors Caused by Concurrency
- 1:44Web Page Errors Caused by Concurrency
- 6:38"Hello World" of web page concurrency
- 7:26Bad interleaving
- 12:17EventRacer end-to-end System
- 17:37Manual evaluation
- 19:11Simple GPS Tracker
- 25:08Is the Alternative Interleaving Feasible?
related talks
24mRacerD - Compositional Static Race Detection
22mData race detection
51mFinding Concurrency Errors using Concuerror
17mSSRD: Shapes and Summaries for Race Detection in Concurrent Data Structures
15mSound and partially-complete static analysis of data-races in GPU programs
28mDetecting the unexpected in React applications
30mBye‑bye Race Conditions — Detect Them Before Our Users!
16mThemis: Detecting Distributed Concurrency Bugs through RPC-Driven Race-Directed Test...
