Effective reversible (aka time travel) debugging of arbitrary native code

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=OMJcbPFHRds



Duration: 54:17
719 views
10


UndoDB is a reversible debugger based on a proprietary JIT binary instrumentation implementation. It runs on Linux and Android user-mode processes, on 32-bit and 64-bit x86 and ARM. It is integrated with gdb's reversible debugging meaning that users can step or run backwards as well as forwards; reverse execution with watchpoints is particularly compelling. We also have a library that can be embedded in a program and allow it to record itself in production or in test-suites for subsequent offline analysis. UndoDB uniquely works with almost any unmodified executable (including those that use multiple threads, asyncronous IO, shared memory, non-determistic instructions, and even RDMA), on almost any Linux kernel (as long as it's 2.6 or later), on almost any x86 or ARM CPU. Its performance makes it practical for some very demanding workloads: our customers including Credit Suisse, JPMorgan, Synopsys, Cadence, IBM and LG use it daily with workloads of up to 100's of GB's working set, with run times of days or even weeks. Users quickly become dependent on the functionality; one recently described it as "like heroine". In this talk we will give a demo and present some of the technical details of the implementation, and then discuss some exciting potential future applications of deterministic replay, beyond simply debugging. We will also discuss our experiences of using the technology in the real world, and some of the challenges (including cultural ones) that we have encountered in building and rolling out our tool and building our company.

See more on this video at https://www.microsoft.com/en-us/research/video/effective-reversible-aka-time-travel-debugging-arbitrary-native-code/




Other Videos By Microsoft Research


2016-10-07Pixel based Interaction Techniques
2016-10-07InfraStructs: Fabricating Information Inside Physical Objects for Imaging in the Terahertz Region
2016-10-07A Webbased Frontend for Easy Interaction with the Inductive Programming System Igor
2016-10-07Toward Telelocomotion
2016-10-07CrossMotion Fusing Device and Image Motion for User Identification, Tracking and Device Association
2016-10-07FoveAR: Combining an Optically See-Through Near-Eye Display with Projector-Based Spatial AR
2016-10-05Using Mobile Devices to Lower Communication Barriers and Provide Autonomy with Gaze-Based AAC
2016-10-05Counterfactual Evaluation and Learning from Logged User Feedback
2016-10-05Dr. TLA+ Series - Global Snapshot
2016-10-05Latin American Faculty Summit 2016 - Data and Code at your Fingertips
2016-10-05Effective reversible (aka time travel) debugging of arbitrary native code
2016-09-27Intern talk: Understanding and Mitigating Solver Instability in Verification Tools
2016-09-27Intelligent Vision Technologies
2016-09-27Perspectives on Health Intelligence
2016-09-27Physically Situated Dialog: Opportunities and Challenges for Integrative Artificial Intelligence
2016-09-27Microsoft and University of Washington DNA Storage Research Project – Full
2016-09-26How OSIsoft and Deschutes Brewery used Project Springfield (Full)
2016-09-26How OSIsoft and Deschutes Brewery used Microsoft Security Risk Detection
2016-09-22Five-minute overview of the InnerEye research project
2016-09-20DNA Join circuit
2016-09-20Improving Reinforcement Learning with Human Input



Tags:
microsoft research