Deterministic Replay as a Platform for Understanding Dynamic Behaviors in Web Programs
- Brian Burg | University of Washington
The web is the most successful open application platform, where anyone can inspect a live application to see how it works. Despite readily inspectable source code and runtime state, web applications are still challenging to debug. In particular, dynamic behaviors-user interactions, animations, and asynchronous work-cannot be understood solely by looking at static source code. Several barriers stand in the way of understanding dynamic behaviors: reproducing nondeterministic behavior is often impossible; finding and comparing a behavior’s runtime states is time-consuming; and the code that implements a behavior is scattered across multiple DOM, CSS, and JavaScript files.
In this talk, I will describe how pervasive, transparent, and fast deterministic record/replay enables new tools for understanding dynamic behaviors. First, I will introduce Dolos: a browser-integrated replay infrastructure that can efficiently and precisely capture and reproduce dynamic behaviors on web pages. Then, I will describe several tools built on top of Dolos that support different program understanding tasks. Timelapse is an interface for visualizing and navigating a captured execution via its user inputs and tasks. Probes are a new feature for retroactively logging runtime states and going back in time to statements that produce outputs. Lastly, Scry is a tool that enables a developer to find the code that implements a behavior by working backward from visual output, to CSS and DOM state, and the JavaScript code responsible for each state. I will discuss the challenges involved in designing, building, and evaluating these tools, and future opportunities for developer tools and deterministic replay.
Speaker Details
Brian Burg is a Seattle-based hacker, designer, researcher and doctoral candidate at the University of Washington. He is advised by Amy Ko and Mike Ernst in the Computer Science and Engineering department. Prior to studying at UW, he earned his B.S. in Computer Science at Purdue University and worked in Jan Vitek’s research lab. As an outgrowth of his research, Brian is an active contributor and reviewer in the WebKit open source project. In the past, he has worked on web technologies and tools at Microsoft Research, Mozilla Research, Amazon, and Apple.
-
-
Jeff Running
-
Series: Microsoft Research Talks
-
Decoding the Human Brain – A Neurosurgeon’s Experience
- Dr. Pascal O. Zinn
-
-
-
-
-
-
Challenges in Evolving a Successful Database Product (SQL Server) to a Cloud Service (SQL Azure)
- Hanuma Kodavalla,
- Phil Bernstein
-
Improving text prediction accuracy using neurophysiology
- Sophia Mehdizadeh
-
Tongue-Gesture Recognition in Head-Mounted Displays
- Tan Gemicioglu
-
DIABLo: a Deep Individual-Agnostic Binaural Localizer
- Shoken Kaneko
-
-
-
-
Audio-based Toxic Language Detection
- Midia Yousefi
-
-
From SqueezeNet to SqueezeBERT: Developing Efficient Deep Neural Networks
- Forrest Iandola,
- Sujeeth Bharadwaj
-
Hope Speech and Help Speech: Surfacing Positivity Amidst Hate
- Ashique Khudabukhsh
-
-
-
Towards Mainstream Brain-Computer Interfaces (BCIs)
- Brendan Allison
-
-
-
-
Learning Structured Models for Safe Robot Control
- Subramanian Ramamoorthy
-