While open-source software has enabled significant levels of reuse to speed up software development, it has also given rise to the dreadful dependency hell that all software practitioners face on a regular basis. This article provides a catalogue of dependency-related challenges that come with relying on OSS packages or libraries. The catalogue is based on a review of the abundant scientific literature on empirical research that has been conducted to understand, quantify and overcome these challenges. Our results can be used as a starting point for junior and senior researchers as well as practitioners that would like to learn more about research advances in dealing with the challenges that come with the dependency networks of large OSS package registries.
翻译:尽管开源软件通过实现高水平的代码复用显著加速了软件开发进程,但其同时催生了令所有软件从业者频繁面对的"依赖地狱"困境。本文系统梳理了依赖开源软件包或库时可能面临的各类依赖相关挑战,并建立分类框架。该分类体系基于对大量实证研究科学文献的综述,这些研究旨在理解、量化并克服此类挑战。我们的研究成果可为初级与资深研究人员,以及希望深入了解大型开源软件包注册中心依赖网络挑战研究进展的从业者,提供系统性研究起点。