一句话:提出基于社区分析,帮助开源库维护者洞察依赖生态的 API 使用并改进测试与维护决策。
开源软件依赖维护者持续维护库并支持社区,但维护者很少获得依赖项目如何使用其 API 的持续反馈。本文提出“基于社区的分析”,从依赖生态整体分析开源库 API 的使用情况。作者对 10 个流行 Java 库及其各 50 个依赖项目开展实证研究,发现平均仅 16% 的 API 方法被依赖生态实际使用,且被使用的方法中仅 73% 被库测试套件部分或完全覆盖。基于此,论文提出两个度量帮助维护者依据社区实际使用的 API 评估测试套件,并通过面向开源实践者的问卷调查评估这些洞察在指导维护决策中的实用价值。
Open-source software (OSS) is a pillar of modern software development. Its success depends on the dedication of maintainers who work constantly to keep their libraries stable, adapt to changing needs, and support a growing community. Yet, they receive little to no continuous feedback on how the projects that rely on their libraries actually use their APIs. We believe that gaining these insights can help maintainers make better decisions, such as refining testing strategies, understanding the impact of changes, and guiding the evolution of their libraries more effectively. We propose the use of community-based analytics to analyze how an OSS library is used across its dependent ecosystem. We conduct an empirical study of 10 popular Java libraries and each with their respective dependent ecosystem of 50 projects. Our results reveal that while library developers offer a wide range of API methods, only 16% on average are actively used by their dependent ecosystem. Moreover, only 73% of the used API methods are partially or fully covered by their library test suite. We propose two metrics to help developers evaluate their test suite according to the APIs used by their community, and we conduct a survey on open-source practitioners to assess the practical value of these insights in guiding maintenance decisions.