Practical AJAX Race Detection for JavaScript Web Applications

Christoffer Quist Adamsen, Anders Møller, Saba Alimadadi, Frank Tip

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

18 Citations (Scopus)
356 Downloads (Pure)

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 languageEnglish
Title of host publicationESEC/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
EditorsGary T. Leavens, Alessandro Garcia, Corina S. Păsăreanu
Number of pages11
Place of publicationNew York, NY, USA
PublisherAssociation for Computing Machinery
Publication date26 Oct 2018
Pages38-48
ISBN (Print)978-1-4503-5573-5
ISBN (Electronic)9781450355735
DOIs
Publication statusPublished - 26 Oct 2018
EventThe ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) - Lake Buena Vista, United States
Duration: 4 Nov 20189 Nov 2018
Conference number: 26
https://conf.researchr.org/home/fse-2018

Conference

ConferenceThe ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)
Number26
Country/TerritoryUnited States
CityLake Buena Vista
Period04/11/201809/11/2018
Internet address

Keywords

  • JavaScript
  • dynamic analysis
  • event race detection

Fingerprint

Dive into the research topics of 'Practical AJAX Race Detection for JavaScript Web Applications'. Together they form a unique fingerprint.

Cite this