McFly: Time-Travel Debugging for the Web

by   John Vilk, et al.

Time-traveling debuggers offer the promise of simplifying debugging by letting developers freely step forwards and backwards through a program's execution. However, web applications present multiple challenges that make time-travel debugging especially difficult. A time-traveling debugger for web applications must accurately reproduce all network interactions, asynchronous events, and visual states observed during the original execution, both while stepping forwards and backwards. This must all be done in the context of a complex and highly multithreaded browser runtime. At the same time, to be practical, a time-traveling debugger must maintain interactive speeds. This paper presents McFly, the first time-traveling debugger for web applications. McFly departs from previous approaches by operating on a high-level representation of the browser's internal state. This approach lets McFly provide accurate time-travel debugging - maintaining JavaScript and visual state in sync at all times - at interactive speeds. McFly's architecture is browser-agnostic, building on web standards supported by all major browsers. We have implemented McFly as an extension to the Microsoft Edge web browser, and core parts of McFly have been integrated into a time-traveling debugger product from Microsoft.


page 1

page 3


Time-based Repair for Asynchronous Wait Flaky Tests in Web Testing

Asynchronous waits are one of the most prevalent root causes of flaky te...

A computer program for simulating time travel and a possible 'solution' for the grandfather paradox

While the possibility of time travel in physics is still debated, the ex...

Next-generation Web Applications with WebAssembly and TruffleWasm

In modern software development, the JavaScript ecosystem of various fram...

Automated Evaluation of Web Site Accessibility Using A Dynamic Accessibility Measurement Crawler

Achieving accessibility compliance is extremely important for many gover...

A novel 2.5D approach for interfacing with web applications

Web applications need better user interface to be interactive and attrac...

An Architecture for Web 3.0 and the Emergence of Spontaneous Time Order

In this study, we proposed an architecture for Web 3.0, which is based o...

Look Before You Leap: Trusted User Interfaces for the Immersive Web

Part of what makes the web successful is that anyone can publish content...

Please sign up or login with your details

Forgot password? Click here to reset