Talk

Time-Travel Diagnostics for Node.js/JavaScript

Mark Marron, MSR Redmond

Tuesday, May 29, 9:00, CAB H52

Abstract:

Debugging is a time-consuming, and often frustrating, aspect of software development and can be particularly difficult when it involves asynchronous/non-deterministic application behavior. To improve the debugging process we have been working with the Chakra JavaScript team at Microsoft on application record/replay and time-travel debugging technologies. This talk will cover the core innovations from our research on ultra-low overhead record/replay of JavaScript (Node.js) applications. Based on this core record/replay technology we will show how we constructed a time-travel debugger in the cross-platform Visual Studio Code IDE as well as a cloud diagnostics system which provides instant and reliable reproductions of failures seen in deployed Node.js applications running with Microsoft's open source ChakraCore JavaScript engine. These tools eliminate or simplify many tedious aspects of the debugging process and are an enabling technology for research areas into other software engineering topics such as offline memory analysis or fault localization tools.

Bio:

Mark Marron is passionate about programming language & software engineering research. His recent focus has been on bringing innovative ideas from the research community into practical tools for Node.js developers and he is leading work on low-overhead diagnostic tracing and time-travel debugging tools at Microsoft Research.

JavaScript has been disabled in your browser