Can I Depend on you? Mapping the Dependency and Quality Landscape of ROS Packages
Publication from Robotics
Third IEEE International Conference on Robotic Computing (IRC), Neapel , 2/2019
Since its beginnings ten years ago, the Robot Operating System (ROS) has created a huge community of developers and researchers and is now the most widespread open-source framework for robotics development. It is used in research, prototyping but also in commercial products and supports a wide range of robotic platforms, sensors and high-level data processing functions. While for a research platform, quality of the software developed with it is typically of lower importance, ROS is gradually moving towards industrial applications making software quality a premier topic. In this paper, we want to gain insights on how ROS is used in practice, how high the quality of the ROS packages and applications is, and where potential pitfalls in the use of ROS lie. To achieve this, we have analyzed several thousands of open-source ROS packages found on GitHub and Bitbucket for their quality and their inter-dependencies. Our results include packages on the rosdistro index and, more importantly, packages that are not. From our results we show common issues in ROS-applications, quality implications, and also which packages of what quality are particularly popular.
Keywords: ROS, Quality, Software