The behavior of a robot is typically expressed as a set of source code files written using a programming language. As for any software engineering activity, programming robotic behaviors is a complex and error-prone task. This paper propose a methodology that aims to reduce the cost of producing a reliable software describing a robotic behavior by automatically testing it. We employ a fuzz testing technique to stress software components with randomly generated data. By applying fuzz testing to a complex robotic-software, we identified errors related to the coding, the way data is handled, the logic of the robotic behavior, and the initialization of architectural components. Furthermore, a panel of experts acquainted with the analyzed behavior have highlighted the relevance and the significance of our findings. Our fuzzer operates on the SMACH and ROS frameworks and it is available under the MIT public open source license.
|Title of host publication||2021 IEEE International Conference on Robotics and Automation, ICRA 2021|
|Publication status||Published - 2021|
|Event||2021 IEEE International Conference on Robotics and Automation, ICRA 2021 - Xi'an, China|
Duration: 30. May 2021 → 5. Jun 2021
|Conference||2021 IEEE International Conference on Robotics and Automation, ICRA 2021|
|Period||30/05/2021 → 05/06/2021|
|Sponsor||Baidu, Biomimetic Intelligence and Robotics, DJI, et al., Mech Mind Robotics Technologies, Toyota Research Institute|
|Series||IEEE International Conference on Robotics and Automation|
Bibliographical noteFunding Information:
The work presented in this paper was partially funded by Fondecyt Regular 1200067, Lam Research, and by the Innovation Fund Denmark project HealthDrone.