Runtime Verification and Field-based Testing for ROS-based Robotic Systems
Journal article, 2024

Robotic systems are becoming pervasive and adopted in increasingly many domains, such as manufacturing, healthcare, and space exploration. To this end, engineering software has emerged as a crucial discipline for building maintainable and reusable robotic systems. The field of robotics software engineering research has received increasing attention, fostering autonomy as a fundamental goal. However, robotics developers are still challenged trying to achieve this goal given that simulation is not able to deliver solutions to realistically emulate real-world phenomena. Robots also need to operate in unpredictable and uncontrollable environments, which require safe and trustworthy self-adaptation capabilities implemented in software. Typical techniques to address the challenges are runtime verification, field-based testing, and mitigation techniques that enable fail-safe solutions. However, there is no clear guidance to architect ROS-based systems to enable and facilitate runtime verification and field-based testing. This paper aims to fill in this gap by providing guidelines that can help developers and quality assurance (QA) teams when developing, verifying or testing their robots in the field. These guidelines are carefully tailored to address the challenges and requirements of testing robotics systems in real-world scenarios. We conducted (i) a literature review on studies addressing runtime verification and field-based testing for robotic systems, (ii) mined ROS-based applications repositories, and (iii) validated the applicability, clarity, and usefulness via two questionnaires with 55 answers overall. We contribute 20 guidelines: 8 for developers and 12 for QA teams formulated for researchers and practitioners in robotic software engineering. Finally, we map our guidelines to open challenges thus far in runtime verification and field-based testing for ROS-based systems and, we outline promising research directions in the field. Guidelines website and replication package: https://ros-rvft.github.io

Guidelines

Guidelines

Robotic Systems

Robot Operating System (ROS)

Robots

Field-based Testing

Robot kinematics

Runtime

Testing

Quality assurance

Runtime Verification

Software

Uncertainty

Author

Ricardo Diniz Caldas

Software Engineering 2

Juan Antonio Pinera Garcia

Gran Sasso Science Institute (GSSI)

Matei Schiopu

Software Engineering 1

Patrizio Pelliccione

Gran Sasso Science Institute (GSSI)

G. Nunes Rodrigues

University of Brasilia

Thorsten Berger

Ruhr-Universität Bochum

IEEE Transactions on Software Engineering

0098-5589 (ISSN) 19393520 (eISSN)

Vol. In Press

Subject Categories

Software Engineering

Robotics

Computer Science

DOI

10.1109/TSE.2024.3444697

More information

Latest update

9/17/2024