Understanding the Role of External Pull Requests in the NPM Ecosystem
Vittunyuta Maeprasart, Supatsara Wattanakriengkrai, Raula Gaikovina, Kula, Christoph Treude, Kenichi Matsumoto

TL;DR
This paper investigates how external pull requests contribute to the NPM ecosystem, highlighting their prevalence, acceptance rate, and roles in fixing issues, adding features, and documentation, thereby influencing library maintenance.
Contribution
It provides an empirical analysis of external PRs in NPM libraries, revealing their significance and characteristics in library evolution and maintenance.
Findings
External PRs are prevalent and as likely to be accepted as maintainer PRs.
26.75% of External PRs fix existing issues.
External PRs mainly contribute new features and documentation.
Abstract
The risk to using third-party libraries in a software application is that much needed maintenance is solely carried out by library maintainers. These libraries may rely on a core team of maintainers (who might be a single maintainer that is unpaid and overworked) to serve a massive client user-base. On the other hand, being open source has the benefit of receiving contributions (in the form of External PRs) to help fix bugs and add new features. In this paper, we investigate the role by which External PRs (contributions from outside the core team of maintainers) contribute to a library. Through a preliminary analysis, we find that External PRs are prevalent, and just as likely to be accepted as maintainer PRs. We find that 26.75% of External PRs submitted fix existing issues. Moreover, fixes also belong to labels such as breaking changes, urgent, and on-hold. Differently from Internal…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Scientific Computing and Data Management
