Researchers can construct dependency networks by inferring relationships between packages through readily-available manifests in package repositories. They answer questions such as "How many use the vulnerable package event-stream?" and "What are the most used packages in a repository?" through network analysis. An overlooked aspect of such networks is that manifest-inferred relationships describe declarations on external packages--not necessarily how or whether they make use of them. To better model dependencies between packages, we devise Pr\"azi, an approach combining manifests and call graphs of packages to construct a fine-grained dependency network at the function-level granularity. We implement Pr\"azi for Rust and replicate a recent evolution study to characterize its package repository, crates.io, from a function call perspective. Our results identify new key characteristics and developments of crates.io: i) 49% of all calls in crates.io target a function in a dependency, suggesting prevalent reuse of dependencies, ii) packages call 40% of their resolved transitive dependencies, iii) package maintainers make nearly 7 new calls to their dependencies biannually, and iv) packages have two to three times more indirect callers than direct callers of their APIs. These results show that current analyses of meta-information of package relationships are not sufficient alone to understand how packages use each other. By pegging network representations on the function level of packages, Pr\"azi is a step towards understanding the dynamics of package repositories and reuse through program analysis.


翻译:研究人员可以通过在软件包库中容易获得的货包清单来推断包件之间的关系, 从而建立依赖性网络。 他们通过网络分析回答“ 有多少人使用脆弱的软件包事件流” 和“ 储存库中最常用的货包” 等问题。 这种网络的一个被忽视的方面是, 显示式推论关系描述外部软件包的申报- 不一定是如何使用或是否使用这些软件包。 为了更好地模拟包件之间的依赖性, 我们设计 Pr\\\\\"azi, 一种将货包的货包和调用式图组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合, 连续组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合,,,, 、组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合组合), 、组合

0
下载
关闭预览

相关内容

Networking:IFIP International Conferences on Networking。 Explanation:国际网络会议。 Publisher:IFIP。 SIT: http://dblp.uni-trier.de/db/conf/networking/index.html
最新《Transformers模型》教程,64页ppt
专知会员服务
290+阅读 · 2020年11月26日
专知会员服务
123+阅读 · 2020年9月8日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
知识图谱推理,50页ppt,Salesforce首席科学家Richard Socher
专知会员服务
105+阅读 · 2020年6月10日
因果图,Causal Graphs,52页ppt
专知会员服务
241+阅读 · 2020年4月19日
强化学习最新教程,17页pdf
专知会员服务
171+阅读 · 2019年10月11日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Arxiv
27+阅读 · 2020年6月19日
VIP会员
相关VIP内容
最新《Transformers模型》教程,64页ppt
专知会员服务
290+阅读 · 2020年11月26日
专知会员服务
123+阅读 · 2020年9月8日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
70+阅读 · 2020年8月2日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
76+阅读 · 2020年7月26日
知识图谱推理,50页ppt,Salesforce首席科学家Richard Socher
专知会员服务
105+阅读 · 2020年6月10日
因果图,Causal Graphs,52页ppt
专知会员服务
241+阅读 · 2020年4月19日
强化学习最新教程,17页pdf
专知会员服务
171+阅读 · 2019年10月11日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Top
微信扫码咨询专知VIP会员