Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software
Deborah S. Katz, Christopher S. Timperley, Claire Le Goues

TL;DR
This paper introduces a novel approach using dynamic binary instrumentation and machine learning to detect errors in safety-critical robotics software with minimal overhead, demonstrated on autopilot and ground vehicle systems.
Contribution
It presents a new method for collecting runtime signals and building ML models to identify unusual executions in robotics software, with efficient instrumentation techniques.
Findings
High accuracy in detecting erroneous executions
Low overhead introduced by instrumentation
Effective identification of useful runtime signals
Abstract
Autonomous and Robotics Systems (ARSs) are widespread, complex, and increasingly coming into contact with the public. Many of these systems are safety-critical, and it is vital to detect software errors to protect against harm. We propose a family of novel techniques to detect unusual program executions and incorrect program behavior. We model execution behavior by collecting low-level signals at run time and using those signals to build machine learning models. These models can identify previously-unseen executions that are more likely to exhibit errors. We describe a tractable approach for collecting dynamic binary runtime signals on ARSs, allowing the systems to absorb most of the overhead from dynamic instrumentation. The architecture of ARSs is particularly well-adapted to hiding the overhead from instrumentation. We demonstrate the efficiency of these approaches on ARDUPILOT -- a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software System Performance and Reliability · Software Reliability and Analysis Research
