Finding Broken Promises in Asynchronous JavaScript Programs
summary
PromiseKeeper instruments Node.js programs to build extended promise graphs that model ES6 features (default reactions, exceptions, race/all) via dynamic traces and flags common anti-patterns. Applied to 12 projects (≈115K LOC) it constructs ~2,700 function nodes and ~1,500 value nodes and records ~4,100 unsettled promises, 209 rejections and ~4,300 fulfillments. The tool finds real bugs — e.g., seven unhandled rejections in node-fetch — and reports visualized graphs with acceptable runtime overhead.
AI-written summary · about
chapters (5)
- 0:00Start
- 0:47Finding Broken Promises in Asynchronous Javascript
- 2:57Create a Promise Object
- 7:45Promise Graphs
- 14:37Anti Patterns








