Selecting Third-Party Libraries: The Practitioners’ Perspective
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.
Wed 11 NovDisplayed time zone: (UTC) Coordinated Universal Time change
17:00 - 17:30 | |||
17:00 2mTalk | Emerging Perspectives of Application Programming Interface Strategy: A Framework to Respond to Business Concerns Journal First Juho Lindman University of Gothenburg, Jennifer Horkoff Chalmers and the University of Gothenburg, Imed Hammouda Mediterranean Institute of Technology, Eric Knauss Chalmers and University of Gothenburg | ||
17:03 1mTalk | Exempla Gratis (E.G.): Code Examples for Free Industry Papers Celeste Barnaby Facebook, Inc., Koushik Sen University of California at Berkeley, Tianyi Zhang Harvard University, USA, Elena Glassman Harvard University, Satish Chandra Facebook, USA DOI | ||
17:05 1mTalk | Exploring How Deprecated Python Library APIs Are (Not) Handled Research Papers Jiawei Wang Monash University, Australia, Li Li Monash University, Australia, Kui Liu Nanjing University of Aeronautics and Astronautics, China, Haipeng Cai Washington State University, USA DOI | ||
17:07 1mTalk | LibComp: An IntelliJ Plugin for Comparing Java Libraries Tool Demos Link to publication DOI Pre-print Media Attached | ||
17:09 1mTalk | Selecting Third-Party Libraries: The Practitioners’ Perspective Research Papers Enrique Larios Vargas Software Improvement Group, Netherlands, Maurício Aniche Delft University of Technology, Netherlands, Christoph Treude University of Adelaide, Australia, Magiel Bruntink Software Improvement Group, Netherlands, Georgios Gousios Facebook & Delft University of Technology DOI | ||
17:11 19mTalk | Conversations on APIs Paper Presentations Celeste Barnaby Facebook, Inc., Jiawei Wang Monash University, Australia, Juho Lindman University of Gothenburg, Rehab El-Hajj University of Alberta, Canada, Tam Nguyen Auburn University, USA, M: Massimiliano Di Penta University of Sannio, Italy |