Abstract
Asynchronous client-server communication is a common source of errors in JavaScript web applications. Such errors are difficult to detect using ordinary testing because of the nondeterministic scheduling of AJAX events. Existing automated event race detectors are generally too imprecise or too inefficient to be practically useful. To address this problem,we present a newapproach based on a lightweight combination of dynamic analysis and controlled execution that directly targets identification of harmful AJAX event races. We experimentally demonstrate using our implementation, Ajax- Racer, that this approach is capable of automatically detecting harmful AJAX event races in many websites, and producing informative error messages that support diagnosis and debugging. Among 20 widely used web pages that use AJAX, AjaxRacer discovers harmful AJAX races in 12 of them, with a total of 72 error reports, and with very few false positives.
Original language | English |
---|---|
Title of host publication | ESEC/FSE 2018 - Proceedings of the 2018 26th ACM Joint Meeting on European So ftware Engineering Conference and Symposium on the Foundations of So ftware Engineering |
Editors | Gary T. Leavens, Alessandro Garcia, Corina S. Păsăreanu |
Number of pages | 11 |
Place of publication | New York, NY, USA |
Publisher | Association for Computing Machinery |
Publication date | 26 Oct 2018 |
Pages | 38-48 |
ISBN (Print) | 978-1-4503-5573-5 |
ISBN (Electronic) | 9781450355735 |
DOIs | |
Publication status | Published - 26 Oct 2018 |
Event | The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) - Lake Buena Vista, United States Duration: 4 Nov 2018 → 9 Nov 2018 Conference number: 26 https://conf.researchr.org/home/fse-2018 |
Conference
Conference | The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) |
---|---|
Number | 26 |
Country/Territory | United States |
City | Lake Buena Vista |
Period | 04/11/2018 → 09/11/2018 |
Internet address |
Keywords
- JavaScript
- dynamic analysis
- event race detection