<link rel="stylesheet" href="styles.f3b1fba60ec7970c.css">

Publication:
Detecting Javascript races that matter

Loading...
Thumbnail Image

Departments

School / College / Institute

Item type:Organizational Unit,
Item type:Organizational Unit,

Program

Organization Authors

Co-Authors

Livshits, Benjamin

Date

Language

Embargo Status

N/A

Journal Title

Journal ISSN

Volume Title

Alternative Title

Abstract

As JavaScript has become virtually omnipresent as the language for programming large and complex web applications in the last several years, we have seen an increase in interest in finding data races in client-side JavaScript. While JavaScript execution is single-threaded, there is still enough potential for data races, created largely by the non-determinism of the scheduler. Recently, several academic efforts have explored both static and run-time analysis approaches in an effort to find data races. However, despite this, we have not seen these analysis techniques deployed in practice and we have only seen scarce evidence that developers find and fix bugs related to data races in JavaScript. In this paper we argue for a different formulation of what it means to have a data race in a JavaScript application and distinguish between benign and harmful races, affecting persistent browser or server state. We further argue that while benign races — the subject of the majority of prior work — do exist, harmful races are exceedingly rare in practice (19 harmful vs. 621 benign). Our results shed a new light on the issues of data race prevalence and importance. To find races, we also propose a novel lightweight run-time symbolic exploration algorithm for finding races in traces of run-time execution. Our algorithm eschews schedule exploration in favor of smaller run-time overheads and thus can be used by beta testers or in crowd-sourced testing. In our experiments on 26 sites, we demonstrate that benign races are considerably more common than harmful ones.

Source

Publisher

Association Computing Machinery

Citation

item.page.haspartof

Source

2015 10th Joint Meeting of The European Software Engineering Conference and The ACM Sigsoft Symposium on The Foundations of Software Engineering (Esec/Fse 2015) Proceedings

item.page.ispartofseries

item.page.edition

DOI

10.1145/2786805.2786820

item.page.datauri

item.page.link

Rights

N/A

Copyrights Note

Rights and licensing

N/A

Endorsement

Review

Supplemented By

Referenced By

Related Patent

Related Goal

Item type:Goal, Access status: Open Access ,
13 - Climate Action
Climate change is a real and undeniable threat to our entire civilization.The effects are already visible and will be catastrophic unless we act now. Through education, innovation and adherence to our climate commitments, we can make the necessary changes to protect the planet. These changes also provide huge opportunities to modernize our infrastructure which will create new jobs and promote greater prosperity across the globe.
Google Scholar
Scholar'da Ara ↗
1
Görüntülenme
0
İndirme
Altmetric
Dimensions
PlumX Metrikleri
BIP! Indicators