Research output: Contribution to book/anthology/report/proceeding › Article in proceedings › Research › peer-review
Accepted manuscript, 609 KB, PDF document
Final published version
The Node.js platform empowers a huge number of software systems programmed with JavaScript. Node.js employs an asynchronous execution model where event handlers are scheduled nondeterministically, and unexpected races between event handlers often cause malfunctions. Existing techniques for detecting such event races require complex modifications of the Node.js internals, or target only certain kinds of races. This paper presents a new approach, called NODERACER, that detects event races in Node.js applications by selectively postponing events, guided by happens-before relations. The technique is implemented entirely with code instrumentation, without modifications of the Node.js system. Our experimental results give evidence that NODERACER finds event race errors with higher probability than a state-of-the-art fuzzer, and that the use of happens-before relations helps avoiding false positives. Furthermore, we demonstrate that NODERACER produces actionable error reports, and that it can be helpful for detecting test flakiness that is caused by event races.
Original language | English |
---|---|
Title of host publication | 2020 IEEE 13th International Conference on Software Testing, Verification and Validation, ICST 2020 : Proceedings |
Place of publication | Porto |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Publication year | Oct 2020 |
Pages | 120-130 |
Article number | 9159075 |
ISBN (Electronic) | 9781728157771 |
DOIs | |
Publication status | Published - Oct 2020 |
Event | 13th IEEE International Conference on Software Testing, Verification and Validation, ICST 2020 - Porto, Portugal Duration: 23 Mar 2020 → 27 Mar 2020 |
Conference | 13th IEEE International Conference on Software Testing, Verification and Validation, ICST 2020 |
---|---|
Land | Portugal |
By | Porto |
Periode | 23/03/2020 → 27/03/2020 |
Series | Proceedings - 2020 IEEE 13th International Conference on Software Testing, Verification and Validation, ICST 2020 |
---|
See relations at Aarhus University Citationformats
ID: 197960937