paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Race Detection for Event-Driven Node.js Applications

面向事件驱动 Node.js 应用的竞态检测
ASE 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)2021匹配度 2/10 · 该论文属于程序分析与并发竞态检测,但与用户核心方向(PL 与 AI/LLM 交叉、面向 ML/Agentic 程序的静态分析、浮点程序分析、贝叶斯程序分析)没有直接关联;其方法是动态竞态检测,而非静态分析或 LLM/Agent 相关技术。引用 6 inbox
Xiaoning Chang, Wensheng Dou, Jun Wei, Tao Huang, Jinhui Xie, Yuetang Deng, Jianbo Yang, Jiaheng Yang
crossref: 2026-09-12

AI 速览

一句话:提出动态竞态检测方法 NRace,利用 happens-before 关系预测 Node.js 事件与异步任务间的竞态。

Node.js 采用异步事件驱动模型,并支持异步任务与多优先级事件队列;事件与异步任务之间意外的竞态可能导致严重后果。现有 Node.js 竞态检测主要依赖随机 fuzzing,因调度空间巨大而容易漏检。本文提出动态竞态检测方法 NRace:它为事件和异步任务构建精确的 happens-before 关系,并将多优先级事件队列纳入考虑;在此基础上进一步实现预测式竞态检测。作者在 10 个真实 Node.js 应用上评估,NRace 精确检测出 6 个竞态,其中 5 个已被开发者确认。

问题
Node.js 应用中事件与异步任务之间的竞态可能造成严重后果,而现有随机 fuzzing 方法受限于巨大调度空间,容易漏检竞态。
方法
NRace 建立事件与异步任务间的精确 happens-before 关系(考虑多优先级事件队列),并基于这些关系进行预测式竞态检测。
评估
在 10 个真实 Node.js 应用上评估,NRace 精确检测出 6 个竞态,其中 5 个已获开发者确认。
原文摘要(Abstract)

Node.js has become a widely-used event-driven architecture for server-side and desktop applications. Node.js provides an effective asynchronous event-driven programming model, and supports asynchronous tasks and multi-priority event queues. Unexpected races among events and asynchronous tasks can cause severe consequences. Existing race detection approaches in Node.js applications mainly adopt random fuzzing technique, and can miss races due to large schedule space.In this paper, we propose a dynamic race detection approach NRace for Node.js applications. In NRace, we build precise happens-before relations among events and asynchronous tasks in Node.js applications, which also take multi-priority event queues into consideration. We further develop a predictive race detection technique based on these relations. We evaluate NRace on 10 realworld Node.js applications. The experimental result shows that NRace can precisely detect 6 races, and 5 of them have been confirmed by developers.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6496,
  title = {Race Detection for Event-Driven Node.js Applications},
  author = {Xiaoning Chang and Wensheng Dou and Jun Wei and Tao Huang and Jinhui Xie and Yuetang Deng and Jianbo Yang and Jiaheng Yang},
  booktitle = {ASE},
  year = {2021},
  doi = {10.1109/ase51524.2021.9678814}
}