Software Quality Assessment for Robot Operating System
This work addresses the critical need for reliable and high-quality software in safety-critical robotic systems for developers and researchers working with ROS. It highlights a gap in ROS2 analysis and provides an initial assessment of its Java code quality.
This paper investigates the quality of Robot Operating System (ROS) software through a systematic literature review and an empirical study. The literature review found a significant lack of tailored analysis mechanisms for ROS2 code, with most research focusing on ROS1. The empirical study, using PMD on Java-implemented ROS2 repositories, revealed that ROS2 Java code generally does not suffer from serious issues, with most detected alerts being code style issues.
Robot Operating System (ROS) is widely used in academia and industry, and importantly is leveraged in safety-critical robotic systems. The quality of ROS software can affect the safety and security properties of robotics systems; therefore, reliability and quality are imperative to guarantee. Source code static analysis is a key approach to formally perform software verification. We address two concerns in this paper: (1) conducting a systematic literature review study to provide a complete picture of the existing methods that analyze different aspects of ROS software, (2) performing empirical study to evaluate software properties that can influence the functionality of ROS. We leverage PMD1, an off-the-shelf static analysis tool, to conduct our empirical study over a set of ROS repositories implemented using Java. The survey analysis shows a significant shortcoming in the body of research by the lack of tailored analysis mechanisms for assessing ROS2 code and reveals that the majority of research efforts are centered around ROS1. Our empirical study shows that the Java code of ROS2 does not suffer from serious issues and the majority of the detected alerts are code style issues.