An Empirical Study of Usages, Updates and Risks of Third-Party Libraries in Java Projects

02/25/2020
by   Ying Wang, et al.
0

Third-party libraries are a central building block to develop software systems. However, outdated third-party libraries are commonly used, and developers are usually less aware of the potential risks. Therefore, a quantitative and holistic study on usages, updates and risks of third-party libraries can provide practical insights to improve the ecosystem sustainably. In this paper, we conduct such a study in the Java ecosystem. Specifically, we conduct a library usage analysis (e.g., usage intensity and outdatedness) and a library update analysis (e.g., update intensity and delay) using 806 open-source projects. The two analyses aim to quantify usage and update practices holistically from the perspective of both open-source projects and third-party libraries. Then, we conduct a library risk analysis (e.g., potential risk and developer response) in terms of bugs with 15 popularly-used third-party libraries. This analysis aims to quantify the potential risk of using outdated libraries and the developer response to the risk. Our findings from the three analyses provide practical insights to developers and researchers on problems and potential solutions in maintaining third-party libraries (e.g., smart alerting and automated updating of outdated libraries). To demonstrate the usefulness of our findings, we propose a bug-driven alerting system for assisting developers to make confident decisions in updating third-party library versions. We have released our dataset to foster valuable applications and improve the ecosystem.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/13/2022

Intertwining Ecosystems: A Large Scale Empirical Study of Libraries that Cross Software Ecosystems

An increase in diverse technology stacks and third-party library usage h...
research
05/27/2023

Ethical Considerations Towards Protestware

A key drawback to using a Open Source third-party library is the risk of...
research
05/24/2020

Req2Lib: A Semantic Neural Model for Software Library Recommendation

Third-party libraries are crucial to the development of software project...
research
02/22/2022

XtraLibD: Detecting Irrelevant Third-Party libraries in Java and Python Applications

Software development comprises the use of multiple Third-Party Libraries...
research
06/13/2020

Will Dependency Conflicts Affect My Program's Semantics?

Java projects are often built on top of various third-party libraries. I...
research
02/25/2020

Interactive, Effort-Aware Library Version Harmonization

As a mixed result of intensive dependency on third-party libraries, flex...
research
09/18/2021

An Exploration of npm Package Co-Usage Examples from Stack Overflow: A Case Study

Third-party package usage has become a common practice in contemporary s...

Please sign up or login with your details

Forgot password? Click here to reset