An Empirical Analysis on the Use of Third-Party HTTP Clients in Open-Source Java Projects
摘要
External communication libraries (e.g., for HTTP/REST) are static dependencies that enable dynamic dependencies in software systems. Such third-party HTTP libraries may influence the system’s qualities. Thus, the selection out of numerous third-party HTTP clients needs to be taken carefully. However, the use of such clients has not been studied broadly. We conduct a quantitative empirical study of 18,879 open-source Java repositories and analyze 259,683 configuration files. We further investigate a subset of these repositories qualitatively and in more depth. We have found that Apache HttpClient, Spring Web, and OkHttp are the most used third-party HTTP clients in Java open-source projects. Further analysis has shown that declared dependencies are often not actively managed, reference outdated versions, or are entirely unused.