Sciweavers

NSDI
2010

Mugshot: Deterministic Capture and Replay for JavaScript Applications

13 years 6 months ago
Mugshot: Deterministic Capture and Replay for JavaScript Applications
Mugshot is a system that captures every event in an executing JavaScript program, allowing developers to deterministically replay past executions of web applications. Replay is useful for a variety of reasons: failure analysis using debugging tools, performance evaluation, and even usability analysis of a GUI. Because Mugshot can replay every execution step that led to a failure, it is far more useful for performing root-cause analysis than today's commonly deployed client-based error reporting systems--core dumps and stack traces can only give developers a snapshot of the system after a failure has occurred. Many logging systems require a specially instrumented execution environment like a virtual machine or a custom program interpreter. In contrast, Mugshot's client-side component is implemented entirely in standard JavaScript, providing event capture on unmodified client browsers. Mugshot imposes low overhead in terms of storage (20-80KB/minute) and computation (slowdowns...
James Mickens, Jeremy Elson, Jon Howell
Added 29 Oct 2010
Updated 29 Oct 2010
Type Conference
Year 2010
Where NSDI
Authors James Mickens, Jeremy Elson, Jon Howell
Comments (0)