一句话:利用仓库徽章与生存分析,实证揭示 npm 生态中自动化工具扩散的社会技术机制。
自动化工具(如持续集成、代码覆盖率、风格检查器和依赖管理器)能显著提升开发者生产力与软件质量,但不同工具的普及程度差异很大。本文关注这些最佳实践如何在开源生态中传播,以及如何促进采用较慢的工具扩散。作者利用 GitHub 仓库徽章这一透明度机制,追踪 npm 生态系统中多种自动化工具随时间的传播过程,并结合大规模纵向数据集、多变量网络科学技术和生存分析,研究哪些社会技术因素最能解释观察到的扩散现象。结果表明,社会曝光、竞争和可观测性等因素显著影响工具的采用,为软件工程师和研究者推广最佳实践与工具提供了路线图。
Automation tools like continuous integration services, code coverage reporters, style checkers, dependency managers, etc. are all known to provide significant improvements in developer productivity and software quality. Some of these tools are widespread, others are not. How do these automation "best practices" spread? And how might we facilitate the diffusion process for those that have seen slower adoption? In this paper, we rely on a recent innovation in transparency on code hosting platforms like GitHub---the use of repository badges---to track how automation tools spread in open-source ecosystems through different social and technical mechanisms over time. Using a large longitudinal data set, multivariate network science techniques, and survival analysis, we study which socio-technical factors can best explain the observed diffusion process of a number of popular automation tools. Our results show that factors such as social exposure, competition, and observability affect the adoption of tools significantly, and they provide a roadmap for software engineers and researchers seeking to propagate best practices and tools.
@inproceedings{paperbot5783,
title = {Heard it through the Gitvine: an empirical study of tool diffusion across the npm ecosystem},
author = {Hemank Lamba and Asher Trockman and Daniel Armanios and Christian Kästner and Heather Miller and Bogdan Vasilescu},
booktitle = {FSE},
year = {2020},
doi = {10.1145/3368089.3409705}
}