Analyzing the evolution of testing library usage in open source Java projects

Analyzing the evolution of testing library usage in open source Java projects
复制标题

分析开源 Java 项目中测试库使用的演变

DOI:
10.1109/saner.2017.7884645
复制
发表时间:
2017
期刊:
2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)
影响因子:
--
通讯作者:
T. Mens
T. Mens
中科院分区:
--
文献类型:
--
作者:
Ahmed Zerouali;T. Mens

文献摘要

被引文献

相似文献

软件开发项目经常依赖与测试相关的库来自动高效地测试软件产品的功能。许多这样的库都可用于Java,开发人员很难决定哪些库最适合他们的项目,或者何时迁移到竞争对手的库。我们对托管在GitHub上的4,532个开源Java项目中的8个与测试相关的库的使用情况进行了实证分析。我们研究了特定(成对的)库随着时间的推移被使用的频率。我们还确定了在项目的生命周期中,库的使用是否以及何时会被竞争的使用所取代。我们发现,一些库比它们的竞争对手更受欢迎,而一些库随着时间的推移变得更受欢迎。我们注意到许多项目倾向于一起使用多个库。我们还观察到相互竞争的图书馆之间的永久和临时迁移。这些发现可能会为推荐工具铺平道路,这些工具允许项目开发人员选择最适合他们需求的库,并了解更好的替代方案。
Software development projects frequently rely on testing-related libraries to test the functionality of the software product automatically and efficiently. Many such libraries are available for Java, and developers face a hard time deciding which libraries are most appropriate for their project, or when to migrate to a competing library. We empirically analysed the usage of eight testing-related libraries in 4,532 open source Java projects hosted on GitHub. We studied how frequently specific (pairs of) libraries are used over time. We also identified if and when library usages are replaced by competing ones during a project's lifetime. We found that some libraries are considerably more popular than their competitors, while some libraries become more popular over time. We observed that many projects tend to use multiple libraries together. We also observed permanent and temporary migrations between competing libraries. These findings may pave the way for recommendation tools that allow project developers to choose the most appropriate library for their needs, and to be informed of better alternatives.