Robotics, Reinforcement learning, Software Engineering
Artificial Intelligence and Robotics | Computer Engineering | Robotics | Software Engineering
It is important to be able to establish formal performance bounds for autonomous systems. However, formal verification techniques require a model of the environment in which the system operates; a challenge for autonomous systems, especially those expected to operate over longer timescales. This paper describes work in progress to automate the monitor and repair of ROS-based autonomous robot software written for an a-priori partially known and possibly incorrect environment model. A taint analysis method is used to automatically extract the data-flow sequence from input topic to publish topic, and instrument that code. A unique reinforcement learning approximation of MDP utility is calculated, an empirical and non-invasive characterization of the inherent objectives of the software designers. By comparing design (a-priori) utility with deploy (deployed system) utility, we show, using a small but real ROS example, that it’s possible to monitor a performance criterion and relate violations of the criterion to parts of the software. The software is then patched using automated software repair techniques and evaluated against the original off-line utility.
2020 IEEE Workshop on Assured Autonomous Systems
Lyons, Damian and Zahra, Saba, "Using Taint Analysis and Reinforcement Learning (TARL) to Repair Autonomous Robot Software" (2020). Faculty Publications. 67.
Robotics, Software Engineering
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.