论文标题

使用动态二进制仪器检测机器人软件中的故障

Using Dynamic Binary Instrumentation to Detect Failures in Robotics Software

论文作者

Katz, Deborah S., Timperley, Christopher S., Goues, Claire Le

论文摘要

自主和机器人系统(ARS)是广泛的,复杂的,并且越来越多地与公众接触。这些系统中的许多是安全至关重要的,检测软件错误以防止伤害至关重要。我们提出了一系列新型技术,以检测异常的程序执行和不正确的程序行为。我们通过在运行时收集低级信号并使用这些信号来构建机器学习模型来对执行行为进行建模。这些模型可以识别出更可能表现出错误的前所未有的执行。我们描述了一种可在ARS上收集动态二进制运行时信号的可拖动方法,从而使系统可以从动态仪器中吸收大部分开销。 ARSS的架构尤其适应掩盖仪器的开销。我们证明了这些方法在Ardupilot上的效率(一种流行的开源自动驾驶软件系统 - 以及赫斯基(Husky) - 一种无人接地车 - 在模拟中。我们仪器执行以收集我们从中构建执行的机器学习模型并评估这些模型的准确性的数据。我们还分析了开发具有各种准确度的模型所需的培训数据量,测量添加到使用分析工具的执行中的间接费用,并分析哪些运行时信号对于检测正在测试的程序上的异常行为最有用。此外,我们分析了时间延迟对ARS功能行为的影响。

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 popular open-source autopilot software system -- and HUSKY -- an unmanned ground vehicle -- in simulation. We instrument executions to gather data from which we build supervised machine learning models of executions and evaluate the accuracy of these models. We also analyze the amount of training data needed to develop models with various degrees of accuracy, measure the overhead added to executions that use the analysis tool, and analyze which runtime signals are most useful for detecting unusual behavior on the program under test. In addition, we analyze the effects of timing delays on the functional behavior of ARSs.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源