paperbot · PL 论文追踪

全部论文 待读 收藏

P2 DrAsync

DrAsync
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 2/10 · 论文属于静态程序分析与开发者工具,但研究对象是 JavaScript Promise 反模式,与用户核心关注的 Agentic/LLM、浮点程序分析、贝叶斯程序分析等方向没有直接交集。引用 7 inbox
Alexi Turcotte, Michael D. Shah, Mark W. Aldrich, Frank Tip
crossref: 2026-09-12

AI 速览

一句话:识别8种JavaScript Promise反模式,提出轻量静态分析并集成动态分析的可视化工具。

Promise与async/await已成为JavaScript中实现异步计算的流行机制,但程序员仍难以正确使用。本文在流行JavaScript仓库中总结出8种常见的promise反模式,并提出一种轻量级静态分析来自动检测它们。该分析被嵌入一个交互式可视化工具,并额外依赖动态分析来展示promise生命周期以及运行时执行到的反模式实例。用户可以在可视化中的promise与其原始源码片段之间导航,从而识别问题和优化机会。

问题
Promise和async/await虽然流行,但开发者难以正确使用,且流行JavaScript代码库中广泛存在反模式,缺乏自动检测与理解工具。
方法
总结8种promise反模式,设计轻量级静态分析进行自动检测,并将静态分析与动态分析结合到交互式可视化工具中。
评估
通过跨流行JavaScript仓库的调研确定8种反模式的普遍性,并以交互式可视化展示promise生命周期、运行时反模式实例及其源码对应关系。
原文摘要(Abstract)

Promises and async/await have become popular mechanisms for implementing asynchronous computations in JavaScript, but despite their popularity, programmers have difficulty using them. This paper identifies 8 anti-patterns in promise-based JavaScript code that are prevalent across popular JavaScript repositories. We present a light-weight static analysis for automatically detecting these anti-patterns. This analysis is embedded in an interactive visualization tool that additionally relies on dynamic analysis to visualize promise lifetimes and instances of anti-patterns executed at run time. By enabling the user to navigate between promises in the visualization and the source code fragments that they originate from, problems and optimization opportunities can be identified.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6909,
  title = {DrAsync},
  author = {Alexi Turcotte and Michael D. Shah and Mark W. Aldrich and Frank Tip},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510097}
}