Time-Travel Debugging for JavaScript/Node.js

  • Earl T. Barr ,
  • Mark Marron ,
  • Ed Maurer ,
  • Dan Moseley ,
  • Gaurav Seth

FSE '16 Proceedings of the 2016 ACM International Symposium on the Foundations of Software Engineering |

Published by Association for Computing Machinery

Time-traveling in the execution history of a program during debugging enables a developer to precisely track and understand the sequence of statements and program values leading to an error. To provide this functionality to real world developers, we embarked on a two year journey to create a production quality time-traveling debugger in Microsoft’s open-source ChakraCore JavaScript engine and the popular Node.js application framework.