Robustness Testing of Autonomy Software - Robotics Institute Carnegie Mellon University

Robustness Testing of Autonomy Software

Casidhe Hutchison, Milda Zizyte, Patrick E. Lanigan, David Guttendorf, Michael Wagner, Claire Le Goues, and Philip Koopman
Conference Paper, Proceedings of IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP '18), pp. 276 - 285, May, 2018

Abstract

As robotic and autonomy systems become progressively more present in industrial and human-interactive applications, it is increasingly critical for them to behave safely in the presence of unexpected inputs. While robustness testing for traditional software systems is long-studied, robustness testing for autonomy systems is relatively uncharted territory. In our role as engineers, testers, and researchers we have observed that autonomy systems are importantly different from traditional systems, requiring novel approaches to effectively test them. We present Automated Stress Testing for Autonomy Architectures (ASTAA), a system that effectively, automatically robustness tests autonomy systems by building on classic principles, with important innovations to support this new domain. Over five years, we have used ASTAA to test 17 real-world autonomy systems, robots, and robotics-oriented libraries, across commercial and academic applications, discovering hundreds of bugs. We outline the ASTAA approach and analyze more than 150 bugs we found in real systems. We discuss what we discovered about testing autonomy systems, specifically focusing on how doing so differs from and is similar to traditional software robustness testing and other high-level lessons.

BibTeX

@conference{Hutchison-2018-122233,
author = {Casidhe Hutchison and Milda Zizyte and Patrick E. Lanigan and David Guttendorf and Michael Wagner and Claire Le Goues and Philip Koopman},
title = {Robustness Testing of Autonomy Software},
booktitle = {Proceedings of IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP '18)},
year = {2018},
month = {May},
pages = {276 - 285},
}