I Know It When I See It: Observable Races in JavaScript Applications (Position paper)
Erdal Mutlu, Serdar Taşiran, Ben Livshits · 2014
Despite JavaScript runtime’s lack of conventional threads, the presence of asynchrony creates a real potential for con-currency errors. These concerns have lead to investigations of race conditions in the Web context. However, focusing on races does not produce actionable error reports that would at the end of the day appeal to developers and cause them to fix possible underlying problems. In this paper, we advocate for the notion of observable races, focusing on concurrency conditions that lead to visu-ally apparent glitches caused by non-determinism within the runtime scheduler on the network. We propose and investi-gate ways to find observable races via systematically explor-ing possible network schedules and shepherding the sched-uler towards correct executions. We propose crowd-sourcing both to spot when different schedules lead to visually broken sites and also to determine under what environment condi-tions (OS, browser, network speed) these schedules may in fact happen in practice for some fraction of the users. 1.