【24h】

Scalable Call Graph Constructor for Maven

机译:可扩展的呼叫图构造函数maven

获取原文

摘要

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.
机译:作为丰富的数据来源,呼叫图用于各种应用程序,包括安全漏洞检测。尽管有多项研究表明,呼叫图可以大大提高分析的准确性,但现有的生态系统级工具,如依赖性,请勿在包级别使用呼叫图和工作。由于调用图形生成器具有的可扩展性问题,使用生态系统中的呼叫图并不实用。呼叫图生成通常被认为是“完整程序分析”,导致大的呼叫图和昂贵的计算。为了进行适用于生态系统规模的分析,这种语用方法不起作用,因为在完整的程序中如何组合特定工件的可能组合的数量爆炸。因此,有必要进行分析增量。存在关于不同类型的增量计划分析的研究。但是,它们都没有侧重于整个生态系统的呼叫图生成。在本文中,我们提出了一种增量实现,其可以通过以前为库中提取的部分呼叫图拼接在一起,以便按需生成呼叫图。我们的初步评估结果表明,所提出的方法衡量良好并优于称为蛋白石的最可扩展的现有框架。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号