Download PDFOpen PDF in browser

Crashing simulated planes is cheap: Can simulation detect robotics bugs early?

EasyChair Preprint no. 9

12 pagesDate: March 2, 2018

Abstract

Robotics and autonomy systems are becoming increasingly important, moving from specialised factory domains to increasingly general and consumer-focused applications. As such systems grow ubiquitous, there is a commensurate need to protect against potentially-catastrophic harm. System-level testing in simulation is a particularly promising approach for assuring robotics systems, allowing for more extensive testing in realistic scenarios and seeking bugs that may not manifest at the unit-level. Ideally, such testing could find critical bugs well before expensive field-testing is required. However, simulations can only model coarse environmental abstractions, contributing to a common perception that robotics bugs can only be found in live deployment. To address this gap, we conduct an empirical study on bugs that have been fixed in the widely-used, open-source ArduPilot system. We identify bug-fixing commits by exploiting commenting conventions in the version-control history. We provide a quantitative and qualitative evaluation of the bugs, focusing on characterising how the bugs are triggered and how they can be detected, with a goal of identifying how they can be best identified in simulation, well before field testing. To our surprise, we find that the majority of bugs manifest under simple conditions that can be easily reproduced in software-based simulation. Conversely, we find that system configurations and forms of input play an important role in triggering bugs. We use these results to inform a novel framework for testing for these and other bugs in simulation, consistently and reproducibly. These contributions can inform the construction of techniques for automated testing of robotics systems, with the goal of finding bugs early and cheaply, without incurring the costs of physically testing for bugs in live systems.

Keyphrases: ArduPilot, automated testing, autonomous vehicles, bug fix, dataset, empirical study, historical bug, repository mining, Robotics

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@Booklet{EasyChair:9,
  author = {Christopher Steven Timperley and Afsoon Afzal and Deborah Katz and Jam Marcos Hernandez and Claire Le Goues},
  title = {Crashing simulated planes is cheap: Can simulation detect robotics bugs early?},
  howpublished = {EasyChair Preprint no. 9},
  doi = {10.29007/hggx},
  year = {EasyChair, 2018}}
Download PDFOpen PDF in browser