A DSL for modifying data in ROS Systems

Loading...
Thumbnail Image

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

The future of robotics will transform human life favourably, but only if they are robust, safe, and secure. Using an Air Traffic Control (ATC) Simulator and the ROS 2 Navigation framework (Nav2), we demonstrate the compromise of a single compo- nent and how it can trick a robotic system into displaying abnormal behaviour. This research presents ROS 2 developers with a framework to generate a node that models this malicious compromise. By targeting any high level event within the system, this node can mutate data or inject new instances into the topic. Four fuzz operations are implemented by our domain-specific language (DSL) to achieve the various attacks: PassThrough, Create, Update, and Delete. By leveraging the framework presented in this work, users can optimally and automatically test their systems for robust- ness. The DSL uses defined sections identified by a keyword to help users specify the requirements for their fuzzer. From there, the TXL program transforms the specifi- cation to generate Python code output. This language was validated against a ROS 2 X-Plane plugin and demonstrates it’s portability, readability, and reliability. The research done throughout this thesis works to remove barriers, such as the absence of knowledge and time, from the testing process so it can be further integrated into the development process of robotic systems.

Description

Keywords

ROS 2, Robustness Testing, Fuzzing, DSL, TXL, ATC, Navigation2

Citation

Endorsement

Review

Supplemented By

Referenced By

Creative Commons license

Except where otherwised noted, this item's license is described as Attribution 4.0 International