Selecting third-party libraries: The practitioners' perspective
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 9 papers in the map (data through 7 Oct 2026). First posted on arXiv 26 May 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2024: 1; 2025: 5; 2026: 3.
9 papers.
- 2025A Study of LLMs' Preferences for Libraries and Programming Languagescited by 20
- 2024ChatGPT Incorrectness Detection in Software Reviewscited by 5
- 2026A Reference Architecture of Reinforcement Learning Frameworkscited by 3
- 2025How Robust are LLM-Generated Library Imports? An Empirical Study using Stack Overflowcited by 2
- 2025Library Hallucinations in LLM-Generated Code: A Risk Analysis Grounded in Developer Queriescited by 1
- 2025A Survey for What Developers Require in AI-powered Tools that Aid in Component Selection in CBSDcited by 0
- 2025LibRec: Benchmarking Retrieval-Augmented LLMs for Library Migration Recommendationscited by 0
- 2026From Adoption to Deployment: A Qualitative Study on AI Integration in Software Development Practicecited by 0
- 2026An Empirical Study of Model Context Protocol Applicationscited by 0
- 2026An Empirical Study of Model Context Protocol Applications28 Jul 2026
- 2026From Adoption to Deployment: A Qualitative Study on AI Integration in Software Development Practice18 Jul 2026
- 2026A Reference Architecture of Reinforcement Learning Frameworks6 Mar 2026
- 2025Library Hallucinations in LLM-Generated Code: A Risk Analysis Grounded in Developer Queries26 Sep 2025
- 2025LibRec: Benchmarking Retrieval-Augmented LLMs for Library Migration Recommendations13 Aug 2025
- 2025How Robust are LLM-Generated Library Imports? An Empirical Study using Stack Overflow14 Jul 2025
- 2025A Survey for What Developers Require in AI-powered Tools that Aid in Component Selection in CBSD18 Apr 2025
- 2025A Study of LLMs' Preferences for Libraries and Programming Languages21 Mar 2025
- 2024ChatGPT Incorrectness Detection in Software Reviews25 Mar 2024