Publication Type
Journal Article
Version
publishedVersion
Publication Date
4-2023
Abstract
The widespread adoption of third-party libraries for contemporary software development has led to the creation of large inter-dependency networks, where sustainability issues of a single library can have widespread network effects. Maintainers of these libraries are often overworked, relying on the contributions of volunteers to sustain these libraries. To understand these contributions, in this work, we leverage socio-technical techniques to introduce and formalise dependency-contribution congruence (DC congruence) at both ecosystem and library level, i.e., to understand the degree and origins of contributions congruent to dependency changes, analyze whether they contribute to library dormancy (i.e., a lack of activity), and investigate similarities between these congruent contributions compared to typical contributions. We conduct a large-scale empirical study to measure the DC congruence for the npm ecosystem using 1.7 million issues, 970 thousand pull requests (PRs), and over 5.3 million commits belonging to 107,242 npm libraries. We find that the most congruent contributions originate from contributors who can only submit (not commit) to both a client and a library. At the project level, we find that DC congruence shares an inverse relationship with the likelihood that a library becomes dormant. Specifically, a library is less likely to become dormant if the contributions are congruent with upgrading dependencies. Finally, by comparing the source code of contributions, we find statistical differences in the file path and added lines in the source code of congruent contributions when compared to typical contributions. Our work has implications to encourage dependency contributions, especially to support library maintainers in sustaining their projects.
Keywords
Software Ecosystem, Dependency Changes, NPM ecosystem
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
IEEE Transactions on Software Engineering
Volume
49
Issue
4
First Page
2566
Last Page
2579
ISSN
0098-5589
Identifier
10.1109/TSE.2022.3225197
Publisher
Institute of Electrical and Electronics Engineers
Citation
WATTANAKRIENGKRAI, Supatsara; WANG, Dong; KULA, Raula Gaikovina; TREUDE, Christoph; THONGTANUNAM, Patanamon; ISHIO, Takashi; and MATSUMOTO, Kenichi.
Giving back: Contributions congruent to library dependency changes in a software ecosystem. (2023). IEEE Transactions on Software Engineering. 49, (4), 2566-2579.
Available at: https://ink.library.smu.edu.sg/sis_research/8790
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/TSE.2022.3225197