Practical AJAX race detection for JavaScript web applications

Practical AJAX race detection for JavaScript web applications
复制标题

DOI:
10.1145/3236024.3236038
复制
发表时间:
2018-10
期刊:
Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Christoffer Quist Adamsen;Anders Møller;Saba Alimadadi;F. Tip
Christoffer Quist Adamsen;Anders Møller;Saba Alimadadi;F. Tip
中科院分区:
其他
文献类型:
--
作者:
Christoffer Quist Adamsen;Anders Møller;Saba Alimadadi;F. Tip

文献摘要

被引文献

相似文献

异步客户端服务器通信是JavaScript Web应用程序中错误的常见来源。由于AJAX事件的不确定性调度,因此很难使用普通测试来检测此类错误。现有的自动事件竞赛探测器通常过于不精确或过于效率,以至于实际上是有用的。为了解决这个问题,我们提出了一种基于动态分析和受控执行的轻巧组合的新方法,该方法直接针对有害Ajax事件的识别。我们通过实验证明了使用我们的实现Ajaxracer,该方法能够自动检测许多网站中的有害Ajax事件种族,并产生支持诊断和调试的信息性错误消息。在使用Ajax的20个广泛使用的网页中,Ajaxracer发现了其中12个有害的Ajax比赛,共有72个错误报告,很少有误报。
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 AJAX event races. We experimentally demonstrate using our implementation, AjaxRacer, 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.