Software reuse has emerged as one of the most crucial elements of modern software development. The standard way to study the dependency networks caused by reuse is to infer relationships between software packages through manifests in the packages' repositories. Such networks can help answer important questions like "How many packages have dependencies to packages with known security issues?" or "What are the most used packages?". However, an important overlooked aspect of current networks is that manifest-inferred relationships do not necessarily describe how or whether these dependencies are actually used in the code. To better model dependencies between packages, we devise Pr\"azi, an approach combining manifests and call graphs of packages. Pr\"azi constructs a fine-grained dependency network at the more fine-grained function-level, instead of at the manifest-level. For this paper, we provide a prototypical Pr\"azi implementation for the popular system programming language Rust. Using it, we replicate a recent evolution study characterizing Rust's package repository, Crates.io, on the function-level. Our results identify new key characteristics and developments of Crates.io: i) 49% of all function 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 manifest-level dependency networks are not sufficient to understand how packages use each other.


翻译:软件的再利用已成为现代软件开发的最关键元素之一。 研究再利用产生的依赖网络的标准方法是通过软件包库的显示器来推断软件包之间的关系。 这种网络可以帮助回答重要问题, 比如“ 有多少软件包依赖已知安全问题的包装? ” 或“ 哪些是使用最多的包? ” 。 然而, 当前网络中一个被忽略的重要方面是, 显而易见的关系不一定描述这些依赖关系在代码中如何或是否实际使用。 为了更好地说明软件包之间的依赖关系, 我们设计了Pr\"azi, 一种将软件包的表和调用图组合图组合图结合起来的方法。 Pr\“azi”在更精细的功能层面构建了一个精细的依赖网络网络。 对于本文,我们为流行的系统编程语言提供了一种半典型的 Pr\\\ 执行方式。 使用它, 我们复制了最近关于 Rust 的软件包储存员的包装库储存库的进化研究, Crates.io, 在功能层面, 我们发现两个新的关键特性和软件包的开发过程, 而不是直接再利用它们的连续的版本。 (i) 四十九) 功能显示一个固定的自动的功能。 (i) 四十九) 显示一个固定的固定的固定的自动的功能。

0
下载
关闭预览

相关内容

Networking:IFIP International Conferences on Networking。 Explanation:国际网络会议。 Publisher:IFIP。 SIT: http://dblp.uni-trier.de/db/conf/networking/index.html
【干货书】机器学习速查手册,135页pdf
专知会员服务
126+阅读 · 2020年11月20日
专知会员服务
124+阅读 · 2020年9月8日
一份简单《图神经网络》教程,28页ppt
专知会员服务
125+阅读 · 2020年8月2日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
知识图谱推理,50页ppt,Salesforce首席科学家Richard Socher
专知会员服务
109+阅读 · 2020年6月10日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
93+阅读 · 2019年10月10日
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
CCF推荐 | 国际会议信息10条
Call4Papers
8+阅读 · 2019年5月27日
计算机 | EMNLP 2019等国际会议信息6条
Call4Papers
18+阅读 · 2019年4月26日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
人工智能 | CCF推荐期刊专刊约稿信息6条
Call4Papers
5+阅读 · 2019年2月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
【今日新增】计算机领域国际会议截稿信息
Call4Papers
9+阅读 · 2017年7月21日
Arxiv
0+阅读 · 2021年3月18日
Learning to Weight for Text Classification
Arxiv
8+阅读 · 2019年3月28日
VIP会员
相关VIP内容
【干货书】机器学习速查手册,135页pdf
专知会员服务
126+阅读 · 2020年11月20日
专知会员服务
124+阅读 · 2020年9月8日
一份简单《图神经网络》教程,28页ppt
专知会员服务
125+阅读 · 2020年8月2日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
知识图谱推理,50页ppt,Salesforce首席科学家Richard Socher
专知会员服务
109+阅读 · 2020年6月10日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
93+阅读 · 2019年10月10日
相关资讯
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
CCF推荐 | 国际会议信息10条
Call4Papers
8+阅读 · 2019年5月27日
计算机 | EMNLP 2019等国际会议信息6条
Call4Papers
18+阅读 · 2019年4月26日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
人工智能 | CCF推荐期刊专刊约稿信息6条
Call4Papers
5+阅读 · 2019年2月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
【今日新增】计算机领域国际会议截稿信息
Call4Papers
9+阅读 · 2017年7月21日
Top
微信扫码咨询专知VIP会员