Foundations for Fault Analysis Support for Robotic Systems
Those working with robot systems face a unique combination of challenges in software fault isolation. By their nature, robots combine many of the most challenging aspects of fault isolation: they are multi-component, multi-threaded cyber-physical systems operating in physical environments with sensor and actuator uncertainty and noise, all of which combine to cause robots to exhibit non-deterministic behaviors. When a robot exhibits a failure after having succeeded multiple times under the same starting conditions and environment, isolating relevant faults can be challenging. Non-deterministic failures are difficult to reproduce, and the developer must work to separate noise from fault-induced anomalous behavior. This work lays out the vision for fault isolation techniques to support the developers of robot systems while making concrete steps to advance research in that direction.
We explore a technique to aid the developer in debugging non-deterministic faults by predicting during test execution if the test is highly unlikely to exhibit a failure. Then, by aborting a test that is unlikely to fail, we can save the developer time in the debugging process. These predictions are made through the use of a runtime monitor that is deployed during testing. By analyzing and comparing system traces from prior tests, the runtime monitor learns to predict the outcome of test cases in an online fashion. Further, the monitor's learned patterns set future work to convert what was learned into explainable fault information.
- Matthew Dwyer, Chair, (CS/SEAS/UVA
- Sebastian Elbaum, Co-Advisor, (CS/SEAS/UVA)
- Kevin Sullivan, Co-Advisor, (CS/SEAS/UVA)
- Nicola Bezzo, (CS ECE/SEAS/UVA)
- Madhur Behl, (CS, ECE/SEAS/UVA)