paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Detecting Atomicity Violations for Event-Driven Node.js Applications

检测事件驱动 Node.js 应用中的原子性违反
ICSE 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)2019匹配度 1/10 · 论文研究 Node.js 事件驱动应用的原子性违反检测,属于动态分析与并发缺陷检测,与用户关注的静态分析在 ML/Agentic 系统中的应用、LLM 辅助静态分析/形式化验证、浮点程序分析及贝叶斯程序分析均无直接关联。引用 24 inbox
Xiaoning Chang, Wensheng Dou, Yu Gao, Jie Wang, Jun Wei, Tao Huang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 NodeAV,基于执行轨迹预测性检测 Node.js 事件驱动应用中的原子性违反。

Node.js 广泛用作事件驱动服务端架构,一个任务常被划分为由 Node.js 非确定性调度的一组事件。开发者可能假设这组事件(原子事件组)应原子执行、不被中断,但 Node.js 并不保证该原子性,其他事件可能打断原子事件组,破坏原子性并导致意外结果。已有方法主要关注两个事件之间的事件竞争,无法检测一组事件间的高层原子性违反。本文提出 NodeAV,基于执行轨迹对 Node.js 应用进行预测性原子性违反检测:利用轨迹中事件间的 happens-before 关系自动识别应被原子处理的事件对,并采用预定义的原子性违反模式进行检测。作者在真实 Node.js 应用上评估了 NodeAV,实验结果表明其能有效检测这些应用中的原子性违反。

问题
Node.js 应用中一组本应原子执行的事件可能被其他事件中断,破坏原子性并导致意外结果;已有方法只关注两个事件间的事件竞争,无法检测事件组级别的高层原子性违反。
方法
NodeAV 基于执行轨迹,利用事件间的 happens-before 关系自动识别应原子处理的事件对,并使用预定义的原子性违反模式进行预测性检测。
评估
在真实世界 Node.js 应用上评估 NodeAV,实验结果表明其能有效检测这些应用中的原子性违反。
原文摘要(Abstract)

Node.js has been widely-used as an event-driven server-side architecture. To improve performance, a task in a Node.js application is usually divided into a group of events, which are non-deterministically scheduled by Node.js. Developers may assume that the group of events (named atomic event group) should be atomically processed, without interruption. However, the atomicity of an atomic event group is not guaranteed by Node.js, and thus other events may interrupt the execution of the atomic event group, break down the atomicity and cause unexpected results. Existing approaches mainly focus on event race among two events, and cannot detect high-level atomicity violations among a group of events. In this paper, we propose NodeAV, which can predictively detect atomicity violations in Node.js applications based on an execution trace. Based on happens-before relations among events in an execution trace, we automatically identify a pair of events that should be atomically processed, and use predefined atomicity violation patterns to detect atomicity violations. We have evaluated NodeAV on real-world Node.js applications. The experimental results show that NodeAV can effectively detect atomicity violations in these Node.js applications.

链接与引用

DOI 原文 · DBLP

BibTeX
@inproceedings{ChangDGW0H19,
  title = {Detecting Atomicity Violations for Event-Driven Node.js Applications},
  author = {Xiaoning Chang and Wensheng Dou and Yu Gao and Jie Wang and Jun Wei and Tao Huang},
  booktitle = {ICSE},
  year = {2019},
  doi = {10.1109/icse.2019.00073}
}