Write a Blog >>
ESEC/FSE 2021
Thu 19 - Sat 28 August 2021 Clowdr Platform

With the rise of open-source software and package hosting platforms, reusing 3rd-party libraries has become a common practice. Due to various failures during software evolution, a project may remove a used library and replace it with another library, which we call \textit{library migration}. Despite substantial research on dependency management, the understanding of how and why library migrations occur is still lacking. Achieving this understanding may help practitioners optimize their library selection criteria, develop automated approaches to monitor dependencies, and provide migration suggestions for their libraries or software projects. In this paper, through a fine-grained commit-level analysis of 19,652 Java GitHub projects, we extract the largest migration dataset to-date (1,194 migration rules, 3,163 migration commits). We show that 8,065 (41.04%) projects having at least one library removal, 1,564 (7.96%, lower-bound) to 5,004 (25.46%, upper-bound) projects have at least one migration, and a median project with migrations has 2 to 4 migrations in total. We discover that library migrations are dominated by several domains (logging, JSON, testing and web service) presenting a long tail distribution. Also, migrations are highly unidirectional in that libraries are either mostly abandoned or mostly chosen in our project corpus. A thematic analysis on related commit messages, issues, and pull requests identifies 14 frequently mentioned migration reasons (e.g., lack of maintenance, usability, integration, etc), 7 of which are not discussed in previous work. Our findings can be operationalized into actionable insights for package hosting platforms, project maintainers, and library developers. We provide a replication package at \url{https://doi.org/10.5281/zenodo.4816752}.

Wed 25 Aug

Displayed time zone: Athens change

17:00 - 18:00
Analytics & Software Evolution—Libraries and APIs 2Research Papers / Journal First +12h
Chair(s): Santanu Dash University of Surrey, Phuong T. Nguyen University of L’Aquila
17:00
10m
Paper
A Large-Scale Empirical Study on Java Library Migrations: Prevalence, Trends, and RationalesArtifacts AvailableArtifacts Reusable
Research Papers
Hao He Peking University, Runzhi He Peking University, Haiqiao Gu Tsinghua University, Minghui Zhou Peking University
DOI Pre-print
17:10
10m
Paper
Learning-Based Extraction of First-Order Logic Representations of API Directives
Research Papers
Mingwei Liu Fudan University, Xin Peng Fudan University, Andrian Marcus University of Texas at Dallas, Christoph Treude University of Adelaide, Xuefang Bai Fudan University, Gang Lyu Fudan University, Jiazhan Xie Fudan University, Xiaoxin Zhang Fudan University
DOI
17:20
10m
Paper
Information Correspondence between Types of Documentation for APIs
Journal First
Deeksha M. Arya McGill University, Jin L.C. Guo McGill University, Martin P. Robillard McGill University
17:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Libraries and APIs 2)
Research Papers

Thu 26 Aug

Displayed time zone: Athens change

05:00 - 06:00
Analytics & Software Evolution—Libraries and APIs 2Journal First / Research Papers
Chair(s): Julia Rubin University of British Columbia
05:00
10m
Paper
A Large-Scale Empirical Study on Java Library Migrations: Prevalence, Trends, and RationalesArtifacts AvailableArtifacts Reusable
Research Papers
Hao He Peking University, Runzhi He Peking University, Haiqiao Gu Tsinghua University, Minghui Zhou Peking University
DOI Pre-print
05:10
10m
Paper
Learning-Based Extraction of First-Order Logic Representations of API Directives
Research Papers
Mingwei Liu Fudan University, Xin Peng Fudan University, Andrian Marcus University of Texas at Dallas, Christoph Treude University of Adelaide, Xuefang Bai Fudan University, Gang Lyu Fudan University, Jiazhan Xie Fudan University, Xiaoxin Zhang Fudan University
DOI
05:20
10m
Paper
Information Correspondence between Types of Documentation for APIs
Journal First
Deeksha M. Arya McGill University, Jin L.C. Guo McGill University, Martin P. Robillard McGill University
05:30
30m
Live Q&A
Q&A (Analytics & Software Evolution—Libraries and APIs 2)
Research Papers