The forgotten case of the dependency bugs: on the example of the robot operating system
- Anders Fischer-Nielsen,
- Zhoulai Fu,
- Ting Su,
- ,
- Swiss Federal Institute of Technology Zürich
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Journal Article or Conference Article in Journal
Journal article
Peer-reviewOriginal language
EnglishPages from-to (Number of pages)
Pages 21-30 (10 pages)Journal (Volume, Issue Number)
Proceedings of the International Conference on Software EngineeringPublication milestones
- Published - 2020
Publication status
Published - 2020
ISSN
0270-5257Publication IDs
- Scopus: 85079847755
Abstract
A dependency bug is a software fault that manifests itself when accessing an unavailable asset. Dependency bugs are pervasive and we all hate them. This paper presents a case study of dependency bugs in the Robot Operating System (ROS), applying mixed methods: a qualitative investigation of 78 dependency bug reports, a quantitative analysis of 1354 ROS bug reports against 19553 reports in the top 30 GitHub projects, and a design of three dependency linters evaluated on 406 ROS packages.
The paper presents a definition and a taxonomy of dependency bugs extracted from data. It describes multiple facets of these bugs and estimates that as many as 15% (!) of all reported bugs are dependency bugs. We show that lightweight tools can find dependency bugs efficiently, although it is challenging to decide which tools to build and difficult to build general tools. We present the research problem to the community, and posit that it should be feasible to eradicate it from software development practice.
The paper presents a definition and a taxonomy of dependency bugs extracted from data. It describes multiple facets of these bugs and estimates that as many as 15% (!) of all reported bugs are dependency bugs. We show that lightweight tools can find dependency bugs efficiently, although it is challenging to decide which tools to build and difficult to build general tools. We present the research problem to the community, and posit that it should be feasible to eradicate it from software development practice.
Publication metrics
PlumX, opens in new tab
Captures
23
Citations
14
Access to documents
Accepted author manuscript, 591.78 KB
