
TL;DR
This paper presents an incremental approach to generate scalable call graphs for Maven ecosystems by stitching partial graphs, enabling on-demand analysis that outperforms existing frameworks in scalability.
Contribution
It introduces an incremental CHA algorithm that constructs call graphs on-demand by combining pre-extracted partial graphs, addressing scalability issues in ecosystem-wide analysis.
Findings
Scales well for large Maven ecosystems
Outperforms existing framework OPAL in efficiency
Enables on-demand call graph generation
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
