It Takes a Village to Build a Robot: An Empirical Study of The ROS Ecosystem

被引:12
作者
Kolak, Sophia [1 ]
Afzal, Afsoon [2 ]
Le Goues, Claire [2 ]
Hilton, Michael [2 ]
Timperley, Christopher Steven [2 ]
机构
[1] Columbia Univ, New York, NY 10027 USA
[2] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
来源
2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020) | 2020年
关键词
robot operating system; software ecosystem; software evolution; robotics software; collaboration;
D O I
10.1109/ICSME46990.2020.00048
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Over the past eleven years, the Robot Operating System (ROS), has grown from a small research project into the most popular framework for robotics development. Composed of packages released on the Rosdistro package manager, ROS aims to simplify development by providing reusable libraries, tools and conventions for building a robot. Still, developing a complete robot is a difficult task that involves bridging many technical disciplines. Experts who create computer vision packages, for instance, may need to rely on software designed by mechanical engineers to implement motor control. As building a robot requires domain expertise in software, mechanical, and electrical engineering, as well as artificial intelligence and robotics, ROS faces knowledge based barriers to collaboration. In this paper, we examine how the necessity of domain specific knowledge impacts the open source collaboration model. We create a comprehensive corpus of package metadata and dependencies over three years in the ROS ecosystem, analyze how collaboration is structured, and study the dependency network evolution. We find that the most widely used ROS packages belong to a small cluster of foundational working groups (FWGs), each organized around a different domain in robotics. We show that the FWGs are growing at a slower rate than the rest of the ecosystem, in terms of their membership and number of packages, yet the number of dependencies on FWGs is increasing at a faster rate. In addition, we mined all ROS packages on GitHub, and showed that 82% rely exclusively on functionality provided by FWGs. Finally, we investigate these highly influential groups and describe the unique model of collaboration they support in ROS.
引用
收藏
页码:430 / 440
页数:11
相关论文
共 25 条
[1]   Influencers of Quality Assurance in an Open Source Community [J].
Alami, Adam ;
Dittrich, Yvonne ;
Wasowski, Andrzej .
2018 IEEE/ACM 11TH INTERNATIONAL WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE), 2018, :61-68
[2]  
[Anonymous], 2015, SCCC
[3]   Structural evolution of an Open Source system: a case study [J].
Capiluppi, A ;
Morisio, M ;
Ramil, JF .
IWPC 2004: 12TH IEEE INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2004, :172-182
[4]   Why Modern Open Source Projects Fail [J].
Coelho, Jailton ;
Valente, Marco Tulio .
ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, :186-196
[5]  
Constantinou E, 2017, 2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), P34, DOI 10.1109/SANER.2017.7884607
[6]  
Cosentino V, 2015, 2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), P499, DOI 10.1109/SANER.2015.7081864
[7]  
Currant W, 2015, IEEE INT CONF ROBOT, P6213, DOI 10.1109/ICRA.2015.7140071
[8]  
Decan A., 2016, ECSAW 16, V16
[9]   An empirical comparison of dependency network evolution in seven software packaging ecosystems [J].
Decan, Alexandre ;
Mens, Tom ;
Grosjean, Philippe .
EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (01) :381-416
[10]   On the impact of security vulnerabilities in the npm package dependency network [J].
Decan, Alexandre ;
Mens, Tom ;
Constantinou, Eleni .
2018 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2018, :181-191