As a rich source of data, Call Graphs are used for various applications including security vulnerability detection. Despite multiple studies showing that Call Graphs can drastically improve the accuracy of analysis, existing ecosystem-scale tools like Dependabot do not use Call Graphs and work at the package-level. Using Call Graphs in ecosystem use cases is not practical because of the scalability problems that Call Graph generators have. Call Graph generation is usually considered to be a "full program analysis" resulting in large Call Graphs and expensive computation. To make an analysis applicable to ecosystem scale, this pragmatic approach does not work, because the number of possible combinations of how a particular artifact can be combined in a full program explodes. Therefore, it is necessary to make the analysis incremental. There are existing studies on different types of incremental program analysis. However, none of them focuses on Call Graph generation for an entire ecosystem. In this paper, we propose an incremental implementation of the CHA algorithm that can generate Call Graphs on-demand, by stitching together partial Call Graphs that have been extracted for libraries before. Our preliminary evaluation results show that the proposed approach scales well and outperforms the most scalable existing framework called OPAL.


翻译:作为丰富的数据来源, Call Graps 被用于各种应用, 包括安全脆弱性检测。 尽管多项研究表明Call Graps 能够大幅提高分析的准确性, 但现有的生态系统尺度工具, 如 Dependabot, 并不使用 Call Graps, 也不在软件包一级工作。 在生态系统使用案例中使用 Call 图形并不实际, 因为Call Graps 具有可缩放性的问题。 调用图的生成通常被认为是一个“ 完整的程序分析”, 导致大调用图和昂贵的计算。 要对生态系统规模进行一项分析, 这种务实的方法是行不通的, 因为Call Graps 可能将特定文物合并到一个完整的程序爆炸中。 因此, 有必要使分析渐进化。 但是, 在各种递增程序分析中, 没有一项研究侧重于整个生态系统的 Call Grap 生成。 在本文中, 我们建议逐步实施 CHA 算法, 以产生点燃的调用图表,, 将以前为图书馆提取的部分调制的部分调制的Call 图表结合起来。 我们的初步评价结果显示, 拟议的方法比例优于现有可缩写为OPAL 。

0
下载
关闭预览

相关内容

剑桥大学《数据科学: 原理与实践》课程,附PPT下载
专知会员服务
53+阅读 · 2021年1月20日
【WSDM2021】保存节点相似性的图卷积网络
专知会员服务
41+阅读 · 2020年11月22日
图节点嵌入(Node Embeddings)概述,9页pdf
专知会员服务
40+阅读 · 2020年8月22日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
158+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
196+阅读 · 2019年10月10日
内涵网络嵌入:Content-rich Network Embedding
我爱读PAMI
4+阅读 · 2019年11月5日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Pointer Graph Networks
Arxiv
7+阅读 · 2020年6月11日
Arxiv
35+阅读 · 2020年1月2日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Arxiv
4+阅读 · 2018年3月22日
Arxiv
7+阅读 · 2018年3月21日
VIP会员
相关资讯
内涵网络嵌入:Content-rich Network Embedding
我爱读PAMI
4+阅读 · 2019年11月5日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
CCF C类 | DSAA 2019 诚邀稿件
Call4Papers
6+阅读 · 2019年5月13日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员