Selecting Third-Party Libraries: The Practitioners' Perspective

被引:33
|
作者
Vargas, Enrique Larios [1 ]
Aniche, Mauricio [2 ]
Treude, Christoph [3 ]
Bruntink, Magiel [1 ]
Gousios, Georgios [2 ]
机构
[1] Software Improvement Grp, Amsterdam, Netherlands
[2] Delft Univ Technol, Delft, Netherlands
[3] Univ Adelaide, Adelaide, SA, Australia
基金
欧盟地平线“2020”; 澳大利亚研究理事会;
关键词
software libraries; APIs; library adoption; library selection; empirical software engineering;
D O I
10.1145/3368089.3409711
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:245 / 256
页数:12
相关论文
共 50 条
  • [1] Selecting third-party libraries: the data scientist's perspective
    Nadi, Sarah
    Sakr, Nourhan
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (01)
  • [2] Selecting third-party libraries: the data scientist’s perspective
    Sarah Nadi
    Nourhan Sakr
    Empirical Software Engineering, 2023, 28
  • [3] Selecting an EDI third-party network
    Esichaikul, V
    Chaichotiranant, C
    INFORMATION SYSTEMS MANAGEMENT, 1999, 16 (01) : 26 - 31
  • [4] Survey on Dependency Conflict Problem of Third-party Libraries
    Li S.
    Liu J.
    Wang S.
    Tian H.-X.
    Ye D.
    Ruan Jian Xue Bao/Journal of Software, 2023, 34 (10): : 4636 - 4660
  • [5] LibKit: Detecting Third-Party Libraries in iOS Apps
    Dominguez-Alvarez, Daniel
    de la Cruz, Alejandro
    Gorla, Alessandra
    Caballero, Juan
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 1407 - 1418
  • [6] Understanding Third-party Libraries in Mobile App Analysis
    Wang, Haoyu
    Guo, Yao
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 515 - 516
  • [7] The challenge of selecting and evaluating third-party reverse logistics providers in a multicriteria perspective: a Brazilian case
    Guarnieri, Patricia
    Sobreiro, Vinicius Amorim
    Nagano, Marcelo Seido
    Marques Serrano, Andre Luiz
    JOURNAL OF CLEANER PRODUCTION, 2015, 96 : 209 - 219
  • [8] Third-party Tracking on the Web: A Swedish Perspective
    Purra, Joel
    Carlsson, Niklas
    2016 IEEE 41ST CONFERENCE ON LOCAL COMPUTER NETWORKS (LCN), 2016, : 28 - 34
  • [9] Third-party Ship Management: A Greek Perspective
    John King
    Kiriaki Mitroussi
    Maritime Economics & Logistics, 2003, 5 (3) : 301 - 310
  • [10] A New Look at Selecting Third-Party Reverse Logistics Providers
    Saen, Reza Farzipoor
    INTERNATIONAL JOURNAL OF INFORMATION SYSTEMS AND SUPPLY CHAIN MANAGEMENT, 2010, 3 (01) : 58 - 67