Dynamically Detecting DOM-Related Atomicity Violations in JavaScript with Asynchronous Call
In Web applications, atomicity violations caused by AJAX (Asynchronous JavaScript and XML) generate non-determinism and inconsistency. This paper introduces a dynamical detecting approach for atomicity violations in AJAX. Implemented based on Jalangi, an existing instrumentation framework, our techn...
Uložené v:
| Vydané v: | SATE 2016 : proceedings : 2016 International Conference on Software Analysis, Testing and Evolution : 3-4 November 2016, Kunming, Yunnan, China s. 42 - 47 |
|---|---|
| Hlavní autori: | , , , |
| Médium: | Konferenčný príspevok.. |
| Jazyk: | English |
| Vydavateľské údaje: |
IEEE
01.11.2016
|
| Predmet: | |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Shrnutí: | In Web applications, atomicity violations caused by AJAX (Asynchronous JavaScript and XML) generate non-determinism and inconsistency. This paper introduces a dynamical detecting approach for atomicity violations in AJAX. Implemented based on Jalangi, an existing instrumentation framework, our technique monitors the execution of a Web application and tracks the Function Callback Flow to find atomic regions by taint analysis. Next, we build a dynamic event model, so as to precisely record the related DOM elements in call and callback steps with low overhead. Then we develop an event-based algorithm to acquire the results, which are classified into different severity levels (benign or harmful). Finally, we conduct an empirical experiment on a subset of Alexa top-ranked websites. Our tool detects 175 DOM related atomicity violations in which 48.6% of violations are identified as harmful after manual inspection. |
|---|---|
| DOI: | 10.1109/SATE.2016.14 |