McFly: Time-Travel Debugging for the Web.
arXiv: Programming Languages(2018)
摘要
Time-traveling debuggers offer the promise of simplifying debugging by letting developers freely step forwards and backwards through a programu0027s 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. 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 browseru0027s internal state. approach lets McFly provide accurate time-travel debugging - maintaining JavaScript and visual state in sync at all times - at interactive speeds. McFlyu0027s 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.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络