As modern software extensively uses open source packages, developers regularly pull in new upstream code through frequent updates. While a manual review of all upstream changes may not be practical, developers may rely on the authors' and reviewers' identities, among other factors, to decide what level of review the new code may require. The goal of this study is to help downstream project developers prioritize review efforts for upstream code by providing a social network-based centrality rating for the authors and reviewers of that code. To that end, we build a social network of 6,949 developers across the collaboration activity from 1,644 Rust packages. Further, we survey the developers in the network to evaluate if code coming from a developer with a higher centrality rating is likely to be accepted with lesser scrutiny by the downstream projects and, therefore, is perceived to be more trusted. Our results show that 97.7\% of the developers from the studied packages are interconnected via collaboration, with each developer separated from another via only four other developers in the network. The interconnection among developers from different Rust packages establishes the ground for identifying the central developers in the ecosystem. Our survey responses ($N=206$) show that the respondents are more likely to not differentiate between developers in deciding how to review upstream changes (60.2\% of the time). However, when they do differentiate, our statistical analysis showed a significant correlation between developers' centrality ratings and the level of scrutiny their code might face from the downstream projects, as indicated by the respondents.
翻译:随着现代软件广泛使用开源包,开发者通过频繁更新不断引入新的上游代码。虽然对所有上游变更进行手动审查可能不切实际,但开发者可依据作者和审查者身份等因素决定新代码所需的审查级别。本研究旨在通过为上游代码的作者和审查者提供基于社交网络的中心性评级,帮助下游项目开发者优先安排审查工作。为此,我们基于1,644个Rust包的协作活动构建了一个包含6,949名开发者的社交网络。进一步,我们对网络中的开发者进行调研,评估来自高中心性评级开发者的代码是否更易被下游项目以较低的审查标准接受,从而被视为更可信。结果表明,所研究包中97.7%的开发者通过协作相互连接,每个开发者与网络中其他开发者之间仅间隔四名开发者。不同Rust包开发者之间的互联性为识别生态中的核心开发者奠定了基础。我们的调研回复(N=206)显示,受访者在决定如何审查上游变更时更倾向于不对开发者进行区分(占60.2%)。然而,当确实进行区分时,统计分析表明开发者的中心性评级与其代码可能面临的下游项目审查严格程度存在显著相关性,受访者的反馈也印证了这一点。