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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

An Empirical Analysis on the Use of Third-Party HTTP Clients in Open-Source Java Projects

  • Leif Bonorden

摘要

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.