Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of 2018
DOI: 10.1145/3236024.3236038
|View full text |Cite
|
Sign up to set email alerts
|

Practical AJAX race detection for JavaScript web applications

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 new approach based on a lightweight combination of dynamic analysis and controlled execution that directly targets identification of harmful AJA… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
11
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
4
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 17 publications
(11 citation statements)
references
References 24 publications
0
11
0
Order By: Relevance
“…In particular, R 4 employs a technique called conflict-reversal bounding to minimize the event reordering; this has inspired the diagnosis mode of NODERACER. RClassify [4], InitRacer [5], EventRaceCommander [8], and AjaxRacer [6] diverge from previous tools in the implementation design. Instead of adopting some kind of browser modification, they instrument the client-side JavaScript code.…”
Section: Related Workmentioning
confidence: 82%
See 4 more Smart Citations
“…In particular, R 4 employs a technique called conflict-reversal bounding to minimize the event reordering; this has inspired the diagnosis mode of NODERACER. RClassify [4], InitRacer [5], EventRaceCommander [8], and AjaxRacer [6] diverge from previous tools in the implementation design. Instead of adopting some kind of browser modification, they instrument the client-side JavaScript code.…”
Section: Related Workmentioning
confidence: 82%
“…For this reason, Node.fz does not find the bug even after 1 000 runs. 6 III. BACKGROUND Node.js is a JavaScript-based runtime environment that integrates three main components [16]: (i) the V8 highperformance JavaScript engine developed by Google; (ii) the libuv I/O library that implements the event loop, the worker thread mechanism, and all of the asynchronous behavior; and (iii) native libraries that abstract the functionalities for highlevel use by developers.…”
Section: Motivating Examplementioning
confidence: 99%
See 3 more Smart Citations