论文标题
选择第三方图书馆:从业者的观点
Selecting third-party libraries: The practitioners' perspective
论文作者
论文摘要
选择第三方库是几乎任何软件开发项目的基本要素。但是,确定选择哪些库是一个具有挑战性的实际问题。选择错误的库可以在成本,时间和开发工作方面严重影响软件项目,并根据图书馆在软件体系结构中的作用等影响而严重影响。尽管遵循仔细的图书馆选择过程的重要性,但实际上,仍然以临时方式进行第三方库的选择,其中数十个因素在决策中起着影响力。在本文中,我们研究了行业开发人员认为的影响图书馆选择过程的因素。为此,我们对来自11个不同业务的16位开发人员进行了横断面访谈研究,并调查了115名参与图书馆的开发人员。我们系统地设计了一组全面的技术,人类和经济因素,开发人员在选择软件库时会考虑这些因素。其中八个因素是文献的新因素。我们解释了这些因素中的每一个以及它们如何在决策中发挥作用。最后,我们讨论了我们对图书馆维护者,潜在图书馆用户,软件包经理开发人员和经验软件工程研究人员的含义。
The selection of third-party libraries is an essential element of virtually any software development project. However, deciding which libraries to choose is a challenging practical problem. Selecting the wrong library can severely impact a software project in terms of cost, time, and development effort, with the severity of the impact depending on the role of the library in the software architecture, among others. Despite the importance of following a careful library selection process, in practice, the selection of third-party libraries is still conducted in an ad-hoc manner, where dozens of factors play an influential role in the decision. In this paper, we study the factors that influence the selection process of libraries, as perceived by industry developers. To that aim, we perform a cross-sectional interview study with 16 developers from 11 different businesses and survey 115 developers that are involved in the selection of libraries. We systematically devised a comprehensive set of 26 technical, human, and economic factors that developers take into consideration when selecting a software library. Eight of these factors are new to the literature. We explain each of these factors and how they play a role in the decision. Finally, we discuss the implications of our work to library maintainers, potential library users, package manager developers, and empirical software engineering researchers.